Как реализовать graceful shutdown в Express?

Middle
286 просмотров
AFK Offer AI

Graceful shutdown: останавливаешь приём новых соединений, ждёшь завершения текущих запросов, закрываешь соединения с БД. process.on("SIGTERM", async () => { server.close(async () => { await db.end(); process.exit(0); }); }). Можно добавить timeout: setTimeout(() => process.exit(1), 30000). http-terminator или close-with-grace пакеты упрощают это. Важно для k8s и zero-downtime деплоев чтобы не обрывать запросы на лету.

Следующий вопрос

Реализуй Observer паттерн с поддержкой нескольких типов событий