Почему pm2 не может остановить перезапуск?

#javascript #node.js #command-line #pm2

Вопрос:

Я хочу, чтобы мой скрипт не перезапускался автоматически, если произошла ошибка. Перезапускать только в том случае, если он вышел корректно с кодом выхода 0.

Я создал ecosystem.config.js в папке скрипта и заполнил ее:

 module.exports = {
  apps : [{
    name   : "My script",
    script : "./index.js",
    stop_exit_codes: [2]
  }]
}
 

Так что , когда я использую process.exit(2) , он должен остановить автоматический перезапуск.

Однако это не работает, и сценарий автоматически перезапускается, когда я помещаю это в начало своего сценария.

 console.log("test");

process.exit(2);
 

Поэтому я попробовал использовать --stop-exit-codes вместо этого:

pm2 start index.js --stop-exit-codes 2

Но pm2 выдает мне эту ошибку:

error: unknown option --stop-exit-codes

Как я могу заставить работать функцию кодов остановки выхода PM2?

Док: https://pm2.keymetrics.io/docs/usage/restart-strategies/

Комментарии:

1. То же самое и здесь, я использую последнюю версию. Открыл проблему здесь: github.com/Unitech/pm2/issues/5208

2. Эта функциональность была создана пиарщиком. Но, к сожалению, пиар не сливается и не закрывается. github.com/Unitech/pm2/pull/5048 . Проект PM2 плохо управляется.

Ответ №1:

Пожалуйста, установите последнюю версию библиотеки pm2, ознакомьтесь с последней версией здесь.