Pm2 авто рестарт процесса не работает при запуске через npm start
Я запускаю backend через команду
pm2 start npm --name backend -- run start
Процесс запускается успешно, но если backend падает, то restart процесса не происходит...
Если прокидывать скрипт на прямую, тогда restart работает
pm2 start server.js --name backend
Мне нужно запустить процесс pm2 именно через npm и auto reaload в случае падения приложения
Ответы (2 шт):
Автор решения: Дмытрык
→ Ссылка
Возможно есть решение используя только Pm2, но, как вариант, можно сделать и так:
создать файл запуска, например app.js с таким кодом:
const child_process = require('child_process')
const webpack = child_process.exec('npm run dev', (err, stdout, stderr) => {
console.log(err)
console.log(stdout)
console.log(stderr)
})
webpack.stdout.pipe(process.stdout)
запускать так pm2 start app.js
Автор решения: nörbörnën
→ Ссылка
Попробуйте добавить в проект файл ecosystem.config.js
username@dev:~ $ cat workspace/project/ecosystem.config.js
module.exports = {
apps: [{
name: "YOUR_PROJECT_NAME",
script: "./server.js",
env: {
NODE_ENV: "production",
},
"log_date_format" : "DD/MM/YYYY HH:mm:ss.SSS"
}]
};