Sobes.tech
Назад к вопросам
Junior — Middle
58

Можно ли одновременно отправить 10 запросов, каждый из которых выполняется 20 секунд?

Ответ от нейросети

sobes.tech AI

Да, в Python можно одновременно отправить 10 запросов, каждый из которых выполняется 20 секунд, используя параллельное или асинхронное выполнение. Например, с помощью модуля concurrent.futures и ThreadPoolExecutor можно запустить несколько запросов в отдельных потоках:

import concurrent.futures
import time
import requests

def send_request(url):
    response = requests.get(url)
    return response.status_code

urls = ['http://example.com'] * 10

with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
    futures = [executor.submit(send_request, url) for url in urls]
    for future in concurrent.futures.as_completed(futures):
        print(future.result())

Такой подход позволит отправить все 10 запросов почти одновременно, и общее время будет около 20 секунд, а не 200. Аналогично можно использовать asyncio с асинхронными библиотеками для HTTP.