Мое приложение "prod" не восстановлено на SIGINT. Вместо этого PM2 дает сбой всем другим приложениям и перезапускает демон.
Если я убиваю другие приложения, все работает нормально: они перезапускаются автоматически.
Мои журналы выглядят так:
(process:3626): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(process:3626): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(process:3626): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(process:3626): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(process:3626): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(process:3626): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(process:3626): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(process:3626): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
2020-03-02T21:02:37: PM2 log: App name:prod id:4 disconnected
2020-03-02T21:02:37: PM2 log: App [prod:4] exited with code [0] via signal [SIGSEGV]
2020-03-02T21:02:37: PM2 log: App [prod:4] starting in -cluster mode-
2020-03-02T21:02:37: PM2 log: App [prod:4] online
2020-03-02T21:02:45: PM2 log: ===============================================================================
2020-03-02T21:02:45: PM2 log: --- New PM2 Daemon started ----------------------------------------------------
2020-03-02T21:02:45: PM2 log: Time : Mon Mar 02 2020 21:02:45 GMT+0100 (Central European Standard Time)
2020-03-02T21:02:45: PM2 log: PM2 version : 4.2.0
2020-03-02T21:02:45: PM2 log: Node.js version : 11.10.0
2020-03-02T21:02:45: PM2 log: Current arch : x64
2020-03-02T21:02:45: PM2 log: PM2 home : /home/ubuntu/.pm2
2020-03-02T21:02:45: PM2 log: PM2 PID file : /home/ubuntu/.pm2/pm2.pid
2020-03-02T21:02:45: PM2 log: RPC socket file : /home/ubuntu/.pm2/rpc.sock
2020-03-02T21:02:45: PM2 log: BUS socket file : /home/ubuntu/.pm2/pub.sock
2020-03-02T21:02:45: PM2 log: Application log path : /home/ubuntu/.pm2/logs
2020-03-02T21:02:45: PM2 log: Worker Interval : 30000
2020-03-02T21:02:45: PM2 log: Process dump file : /home/ubuntu/.pm2/dump.pm2
2020-03-02T21:02:45: PM2 log: Concurrent actions : 2
2020-03-02T21:02:45: PM2 log: SIGTERM timeout : 1600
2020-03-02T21:02:45: PM2 log: ===============================================================================
2020-03-02T21:02:45: PM2 log: App [pm2-health:0] starting in -fork mode-
2020-03-02T21:02:45: PM2 log: App [pm2-health:0] online
Вот мой экосистемный файл для "prod"
module.exports = {
apps : [{
name: 'prod',
script: 'index.js',
args: ["--color"],
instances: 4,
autorestart: true,
out_file: "logs/prod.log",
node_args: "--max-old-space-size=2048"
}]
};
Мой монитор выглядит так:
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 6 │ beta │ default │ 1.0.0 │ fork │ 4031 │ 5m │ 0 │ online │ 0% │ 154.8mb │ ubuntu │ enabled │
│ 1 │ prod │ default │ 1.0.0 │ cluster │ 3619 │ 5m │ 0 │ online │ 75% │ 372.1mb │ ubuntu │ disabled │
│ 2 │ prod │ default │ 1.0.0 │ cluster │ 3626 │ 5m │ 0 │ online │ 5% │ 361.4mb │ ubuntu │ disabled │
│ 3 │ prod │ default │ 1.0.0 │ cluster │ 3635 │ 5m │ 0 │ online │ 0% │ 297.1mb │ ubuntu │ disabled │
│ 4 │ prod │ default │ 1.0.0 │ cluster │ 3644 │ 5m │ 0 │ online │ 5% │ 510.0mb │ ubuntu │ disabled │
│ 5 │ sandbox │ default │ 1.0.0 │ cluster │ 3970 │ 5m │ 0 │ online │ 0% │ 132.2mb │ ubuntu │ enabled │
└─────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
Пожалуйста, помогите. Это большая проблема, потому что он отключил мой сервер без возможности автоматического восстановления.
Я обновил до последней версии PM2, но понизил его, потому что это вызывало проблему, описанную выше. Тем не менее, это ничего не меняет