Выбор ответа Senior HTTP, WSGI и ASGI обновлено

ASGI lifespan

Вопрос

Для чего в ASGI существует тип соединения lifespan?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сервер сообщает о старте и остановке, чтобы открыть и закрыть ресурсы. При запуске сервер шлёт событие lifespan.startup, при остановке lifespan.shutdown.

Варианты ответа

  1. Для ограничения времени жизни HTTP-запроса и обрыва зависших соединений
  2. Для хранения сессии пользователя между запросами без внешнего хранилища
  3. Сервер сообщает о старте и остановке, чтобы открыть и закрыть ресурсыправильный ответ
  4. Для автоматического продления TLS-сертификата без перезапуска сервера

Разбор

При запуске сервер шлёт событие lifespan.startup, при остановке lifespan.shutdown. Приложение в ответ создаёт и закрывает ресурсы: пул БД, HTTP-клиент, подключение к Redis. В FastAPI это параметр lifespan с асинхронным контекстным менеджером. Таймауты запросов, сессии и сертификаты решаются другими средствами.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.