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"

  }]
};
→ Ссылка