import asyncio # Новое в Python 3.11. async with asyncio.timeout_at(when): await long_running_task()
asyncio.Timeout
. Подробнее в описании asyncio.timeout()
Функция timeout_at()
модуля asyncio
создает асинхронный контекстный менеджер аналогично asyncio.timeout()
, за исключением того, что аргумент when
- это абсолютное время ожидания, или None
.
Новое в Python 3.11.
asyncio.timeout_at()
.async def main(): loop = asyncio.get_running_loop() deadline = loop.time() + 20 try: async with asyncio.timeout_at(deadline): await long_running_task() except TimeoutError: print("Время длительной операции истекло.") print("print будет выполняться независимо.")