重新启动node.js群集工作程序
我有一个节点应用程序,我使用集群在多个核心上运行 我遇到了一个问题,当我的应用程序抛出异常时,工作进程将死亡,并且无法重新启动。这是有道理的,但我想知道是否有更好的方法来处理重新启动这些工作人员,而不必监视它或尝试/捕获或侦听每一个错误 我以前一直在使用它,看起来这样的东西对集群很有用重新启动node.js群集工作程序,node.js,exception-handling,cluster-computing,express,Node.js,Exception Handling,Cluster Computing,Express,我有一个节点应用程序,我使用集群在多个核心上运行 我遇到了一个问题,当我的应用程序抛出异常时,工作进程将死亡,并且无法重新启动。这是有道理的,但我想知道是否有更好的方法来处理重新启动这些工作人员,而不必监视它或尝试/捕获或侦听每一个错误 我以前一直在使用它,看起来这样的东西对集群很有用 有没有办法重新启动它们,或者在express的顶层添加“口袋妖怪”异常处理,以确保我的工作人员在出现意外异常时不会死亡?有许多第三方工具可以帮助解决此问题。莫尼特(http://mmonit.com/monit/
有没有办法重新启动它们,或者在express的顶层添加“口袋妖怪”异常处理,以确保我的工作人员在出现意外异常时不会死亡?有许多第三方工具可以帮助解决此问题。莫尼特(http://mmonit.com/monit/)在节点社区中非常流行。另一个选项是
supervision
(http://cr.yp.to/daemontools.html).有许多第三方工具可以帮助实现这一点。莫尼特(http://mmonit.com/monit/)在节点社区中非常流行。另一个选项是supervision
(http://cr.yp.to/daemontools.html).发生死亡事件时,将新员工交给新员工
cluster.on("death", function(worker){
console.log("worker " + worker.pid + " died");
var newWorker = cluster.fork();
console.log("worker " + newWorker.id + " live");
});
当死亡事件发生时,为新工作进程拨叉
cluster.on("death", function(worker){
console.log("worker " + worker.pid + " died");
var newWorker = cluster.fork();
console.log("worker " + newWorker.id + " live");
});