Выбор ответа Senior HTTP, WSGI и ASGI обновлено
ASGI lifespan
Вопрос
Для чего в ASGI существует тип соединения lifespan?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Сервер сообщает о старте и остановке, чтобы открыть и закрыть ресурсы. При запуске сервер шлёт событие lifespan.startup, при остановке lifespan.shutdown.
Варианты ответа
- Для ограничения времени жизни HTTP-запроса и обрыва зависших соединений
- Для хранения сессии пользователя между запросами без внешнего хранилища
- Сервер сообщает о старте и остановке, чтобы открыть и закрыть ресурсыправильный ответ
- Для автоматического продления TLS-сертификата без перезапуска сервера
Разбор
При запуске сервер шлёт событие lifespan.startup, при остановке lifespan.shutdown. Приложение в ответ создаёт и закрывает ресурсы: пул БД, HTTP-клиент, подключение к Redis. В FastAPI это параметр lifespan с асинхронным контекстным менеджером. Таймауты запросов, сессии и сертификаты решаются другими средствами.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.