#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, ознакомьтесь с последней версией здесь.