Как реализовать graceful shutdown в Node.js?

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

Graceful shutdown: получить SIGTERM → перестать принимать новые запросы → дождаться завершения текущих → закрыть соединения с БД → выйти. process.on("SIGTERM", async () => { server.close(async () => { await prisma.$disconnect(); await redisClient.quit(); process.exit(0); }); setTimeout(() => process.exit(1), 30000) }). В k8s: terminationGracePeriodSeconds должен быть больше таймаута. http-terminator пакет упрощает закрытие keep-alive соединений. Без graceful shutdown теряешь запросы при деплое.

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

Что такое объект process в Node.js?