Вы хорошо описали управление задачами и корректное завершение. А как вы контролируете незавершённые операции AsyncIO при остановке приложения?

При остановке сначала прекратите принимать новую работу, затем ограниченно дождитесь активных задач, отмените оставшиеся и дождитесь их cleanup. Простого вызова cancel недостаточно.

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

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

При остановке сначала прекратите принимать новую работу, затем ограниченно дождитесь активных задач, отмените оставшиеся и дождитесь их cleanup. Простого вызова cancel недостаточно.

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

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

При остановке сначала прекратите принимать новую работу, затем ограниченно дождитесь активных задач, отмените оставшиеся и дождитесь их cleanup. Простого вызова cancel недостаточно.

Храните ссылки на созданные задачи или используйте структурированную группу. После отмены соберите результаты и исключения через await/gather, освобождайте ресурсы в finally и не проглатывайте CancelledError без причины. Задайте общий deadline shutdown. Уже выполняющийся поток, внешний запрос или транзакция могут требовать собственной стратегии остановки и восстановления.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее