Sobes.tech
Junior — Middle

Kas on võimalik samaaegselt saata 10 päringut, millest igaüks kestab 20 sekundit?

sobes.tech AI

Vastus AI-lt

Jah, Pythonis on võimalik samaaegselt saata 10 päringut, igaüks kestab 20 sekundit, kasutades paralleelset või asünkroonset täitmist. Näiteks, concurrent.futures mooduli ja ThreadPoolExecutor abil saab käivitada mitu päringut eraldi lõimedes:

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())

See lähenemine võimaldab peaaegu samaaegselt saata kõik 10 päringut ning kogu aeg on umbes 20 sekundit, mitte 200. Samuti saab kasutada asyncio koos asünkroonsete HTTP teekidega.