【发布时间】:2019-09-13 20:50:02
【问题描述】:
我有一个快速应用程序,它在负载下运行一段时间后可预见地会出现 CPU 峰值。我想每 N 分钟主动重新启动一次,以避免出现峰值。它目前在forever 下运行,但我可以使用pm2 或其他一些进程管理器。有没有可以定期重启的流程管理器?我怎样才能以最少的添加结构来实现这一点?
【问题讨论】:
标签: node.js express pm2 forever
我有一个快速应用程序,它在负载下运行一段时间后可预见地会出现 CPU 峰值。我想每 N 分钟主动重新启动一次,以避免出现峰值。它目前在forever 下运行,但我可以使用pm2 或其他一些进程管理器。有没有可以定期重启的流程管理器?我怎样才能以最少的添加结构来实现这一点?
【问题讨论】:
标签: node.js express pm2 forever
您可以使用 PM2 使用以下代码以编程方式完成此操作。
var pm2 = require('pm2');
pm2.connect(function(err) {
if (err) throw err;
setTimeout(function worker() {
console.log("Restarting app...");
pm2.restart('app', function() {});
setTimeout(worker, NUM_MILLI_SECONDS);
}, NUM_MILLI_SECONDS);
});
这将每隔给定的毫秒数重新启动一次。您还可以使用一个 CRON 库。
【讨论】: