Adi*_*iii 14 node.js docker pm2
我试过pm2来限制重启限制--max-restarts但是它不起作用而且累了min_uptime
sudo pm2 start server.js --max-restarts=5
Run Code Online (Sandbox Code Playgroud)
我也试过yml文件
apps:
- name: node-mt
script: server-socket.js
watch: true
max_restarts: 5
min_uptime: 5000
Run Code Online (Sandbox Code Playgroud)
但它并不限制应用程序的重启.
如果pm2经常崩溃,它会导致主机系统崩溃,内存使用量从300mb到800mb.
应用程序运行时的正常状态.
当应用程序崩溃时.然后图表非常高.
PM2 max_restarts负离子min_uptime工作正常。您需要了解两者的类比。
根据文档
在您的应用被视为错误并停止重新启动之前,连续不稳定重新启动的次数(小于1秒(默认)间隔或通过min_uptime的自定义时间)
这意味着,如果您的min_uptime为5000,max_restarts为5,则如果应用崩溃并在少于5000ms的时间内重新启动了5次,则该应用将被视为错误。如果它在5秒钟内重新启动了4次,则不会认为它是错误的,并继续重新启动它。
如果您的应用始终使用此配置重新启动,则意味着您的应用在5秒钟内没有重启5次。可能的解决方案是在min_uptime中给出一个相对较高的数字,例如一个小时左右,或者您可以通过手动测试找到它。
当我第一次在节点cron应用程序中遇到它并创建以下演示时,我很高兴了解这一点。
app.js
setTimeout(function () {
console.log('killed');
process.exit(1)
}, 100);
Run Code Online (Sandbox Code Playgroud)
生态系统.config.json
{
"apps" : [{
"name" : "api",
"script" : "./app.js",
"max_restarts" : 3,
"min_uptime" : 300
}]
}
Run Code Online (Sandbox Code Playgroud)
这将杀死您的进程,但是如果您将超时更改为130+(我不知道为什么,但是它适用于小于130的值(可能是ms精确度,并且直到第一次重启都不会考虑配置)),否则它将无法工作。它将开始重新启动应用程序。
聚苯乙烯
min_uptime 也可以字符串形式给出。
| 归档时间: |
|
| 查看次数: |
2477 次 |
| 最近记录: |