Как установить таймаут на выполнение одной корутины?

Ограничить ожидание корутины можно через await asyncio.waitfor(coro(), timeout=5). В Python 3.11+ доступен также контекстный менеджер asyncio.timeout(5).

Короткий ответ

Что ответить на собеседовании

Ограничить ожидание корутины можно через await asyncio.waitfor(coro(), timeout=5). В Python 3.11+ доступен также контекстный менеджер asyncio.timeout(5).

Подробный разбор

Ответ с пояснениями

Ограничить ожидание корутины можно через await asyncio.wait_for(coro(), timeout=5). В Python 3.11+ доступен также контекстный менеджер asyncio.timeout(5).

По истечении срока возникает TimeoutError; отмена кооперативна, очистка может продлить ожидание. Блокирующий код внутри корутины мешает своевременному срабатыванию таймера. Таймауты asyncio.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку