pm2: add crash-loop governor (max_restarts/min_uptime/exp_backoff) to all apps

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Liam
2026-06-29 12:58:02 +00:00
parent d717ef2189
commit 592743d092
+12
View File
@@ -30,10 +30,20 @@ function loadEnvFile() {
loadEnvFile() loadEnvFile()
// Crash-loop governor: after max_restarts attempts that each fail to stay up
// min_uptime ms, PM2 marks the app `errored` and stops relaunching it, instead
// of restarting forever and pegging the CPU.
const RESTART_POLICY = {
max_restarts: 10,
min_uptime: 10000,
exp_backoff_restart_delay: 200,
}
module.exports = { module.exports = {
apps: [ apps: [
{ {
name: 'tssbot-web', name: 'tssbot-web',
...RESTART_POLICY,
script: 'server.cjs', script: 'server.cjs',
cwd: __dirname, cwd: __dirname,
exec_mode: 'cluster', exec_mode: 'cluster',
@@ -62,6 +72,7 @@ module.exports = {
}, },
{ {
name: 'tssbot-webhook', name: 'tssbot-webhook',
...RESTART_POLICY,
script: 'webhook.cjs', script: 'webhook.cjs',
cwd: __dirname, cwd: __dirname,
autorestart: true, autorestart: true,
@@ -79,6 +90,7 @@ module.exports = {
}, },
{ {
name: 'tssbot-backend', name: 'tssbot-backend',
...RESTART_POLICY,
script: process.platform === 'win32' script: process.platform === 'win32'
? 'backend/target/release/tssbot-backend.exe' ? 'backend/target/release/tssbot-backend.exe'
: 'backend/target/release/tssbot-backend', : 'backend/target/release/tssbot-backend',