TGViewer
Библиотека собеса по Python | вопросы с собеседований Библиотека собеса по Python | вопросы с собеседований @py_interview_lib · 5.91K subscribers
Post #1058 1.01K
Как корректно завершить FastAPI/asyncio-сервис без потерь данных: остановить фоновые задачи, закрыть соединения (DB/HTTP/Redis) и не зависнуть на выключении?

Обработать SIGTERM/SIGINT через lifespan (@asynccontextmanager или app.router.lifespan): пометить приложение как «not-ready», перестать принимать новые задания, отправить отмену всем фоновым задачам (хранить ссылки/TaskGroup), дождаться их с таймаутом (await asyncio.gather(..., return_exceptions=True)), корректно закрыть пулы (await pool.close()), опустошить/дренировать очереди. Критичные операции обернуть в asyncio.shield/идемпотентность, прокидывать CancellationToken/timeouts, логировать незавершённые таски.

Библиотека собеса по Python
  • 👍 3
More from @py_interview_lib
  1. Sep 15, 2026Как спроектировать безопасную плагинную систему без «грязных» импортов? Определите стабиль…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 5, 2026У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагр…
  4. Aug 5, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 5, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
  6. Jul 30, 2026Как спроектировать CLI-утилиту с подкомандами, автокомплитом и хорошей тестируемостью? Пос…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →