Українська
Відкрити в Telegram

ПовідомленняВиграш у часі виконання за рахунок одночасного очікування відповідей. asyncio.gather

3 серпня 2026
P
Виграш у часі виконання за рахунок одночасного очікування відповідей. asyncio.gather import time import asyncio import httpx # Ключ від безкоштовного апі https://app.reqres.in API_KEY = "free_user_****************" async def main(): async with httpx.AsyncClient() as client: client.headers["x-api-key"] = API_KEY start = time.monotonic() responses = await asyncio.gather( client.get("https://reqres.in/api/users?delay=1"), # запит 1с client.get("https://reqres.in/api/users?delay=3"), # запит 3с client.get("https://reqres.in/api/users?delay=2"), # запит 2с ) print(f"Elapsed: {time.monotonic() - start:.2f} s") print("Status codes: ", [r.status_code for r in responses]) if __name__ == "__main__": asyncio.run(main()) Вивід: Elapsed: 3.30 s Status codes: [200, 200, 200] API app.reqres.in дозволяє задати час відповіді для кожного запиту (1, 3 та 2 с). Це дає можливість побачити перевагу асинхронності, коли запити виконуються групою й відповіді очікуються одночасно. Якби ми робили запити послідовно, час виконання становив би 1 + 3 + 2 = ~6 с. Проте завдяки асинхронності ми досягли результату ~3,3 с, що співмірне з часом найдовшого запиту. #asyncio #gather
381 ·

Поруч у стрічці

PPython Materials For BeginnersБібліотеки httpx і curl_cffi (на відміну від requests) надають як синхроний так і асинхронний інтерфейси: import httpx def main(): with httpx.Client() as clientPPython Materials For BeginnersВиграшу у часі виконання. За рахунок неблокуючих операцій ми можемо відправити запит на сервер, але не чекати відповіді - робити іншу задачу. async with httpx.A
це повідомлення
PPython Materials For Beginners#asyncio #gatherPPython Materials For BeginnersТут на DOU рекламують наче новий сервіс с задачками. Поки немає часу та бажання дивитись, але якщо хтось пробував/спробує - відпишіть як воно, норм або черговий

Відкрита публічна стрічка з пошукового індексу ChatCrawler — «Google по публічному Telegram»; оновлюється в міру обходу майданчика. Час — UTC.

Лише публічний контент, офіційний API Telegram. Про проєкт · Питання · Межі індексу · Прибрати сторінку з видачі · Каталог · Пошук · Як ми рахуємо