← Все новости
Как отменять задачи в asyncio без зависаний и незавершённой очистки

Как отменять задачи в asyncio без зависаний и незавершённой очистки

Отмена задачи кажется простой, пока сервис не зависает при остановке, таймаут не оставляет запрос работать в фоне, а CancelledError исчезает внутри обработчика исключений. Разберём, как устроена кооперативная отмена в asyncio, где ставить точки ожидания и как использовать TaskGroup, timeout и shield, чтобы задачи завершались предсказуемо. Изучить asyncio