Я использую PM2 для развертывания моего приложения.Я сделал мое приложение испустить process.send("ready")
, когда оно будет готово.Я также заставил его корректно закрыться, когда он получает сигнал SIGINT от PM2 [process.on('SIGINT', doShutdown);
].
Я ожидал, что PM2 запустит новый процесс для моего приложения и выдаст SIGINT существующему.Но на самом деле это происходит в обратном порядке.Мало того, что оно также ожидает выхода из существующего приложения, прежде чем оно запустит новое.Так что это дает время простоя.
Мое приложение не является веб-приложением.Он не должен прослушивать любой порт, кроме подключения к Redis.
Моя команда для запуска PM2: pm2 start index.js --kill-timeout 120000 --wait-ready --listen-timeout=10000 -- --config=config/example.json
Для развертывания я использую: pm2 reload all
Как мне заставить его начать новый процесс, прежде чем убить существующий?Может ли это быть достигнуто с помощью любого другого инструмента, кроме PM2?пожалуйста предложите?