Я использую pm2 для управления процессом в моем экспресс-приложении nodejs (работающем в режиме кластера).
У нас было 2 вида обработчиков ошибок
ПЕРВЫЙ: uncaughtException будет обработан с помощью
process.on('uncaughtException', function(err){});
На самом деле, я не объявляю обработчик, подобный этой причине, позволяющей pm2 обнаруживать умершего рабочего в этом случае, поэтому перезапустите умершего рабочего автоматически.
ВТОРОЙ: экспресс-обработчик ошибок, я имею в виду, что ошибка будет перенаправлена на экспресс-обработчик ошибок, а не на обработчик uncaughtException, обработчик ошибок, как показано ниже
app.use(function(err, req, res, next) {})
Я также не объявляю этот обработчик ошибок для той же цели, что и uncaughtException. Но pm2 в этом случае не перезапускает узел.
Есть идеи об этой проблеме? Большое спасибо