English
Open in Telegram

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

3 August 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 ·

Nearby in the feed

PPython Materials For BeginnersБібліотеки httpx і curl_cffi (на відміну від requests) надають як синхроний так і асинхронний інтерфейси: import httpx def main(): with httpx.Client() as clientPPython Materials For BeginnersВиграшу у часі виконання. За рахунок неблокуючих операцій ми можемо відправити запит на сервер, але не чекати відповіді - робити іншу задачу. async with httpx.A
this message
PPython Materials For Beginners#asyncio #gatherPPython Materials For BeginnersТут на DOU рекламують наче новий сервіс с задачками. Поки немає часу та бажання дивитись, але якщо хтось пробував/спробує - відпишіть як воно, норм або черговий
PPython Materials For Beginners ChatPython Materials For Beginners Chat@python_code_ua · group · Tech
16members3writing in 30 days
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count