重新启动node.js群集工作者

我有一个节点应用程序,我使用群集在多个核心上运行。

我遇到了一个问题,当我的应用程序抛出一个exception,工人死亡,不重新启动。 这是有道理的,但我想知道是否有更好的方法来处理重新启动这些工人,而不是必须监视它,或尝试/捕捉或听每一个错误。

我以前永远都用过,而且看起来像这样的东西对于集群来说是很好的。

有没有办法重新启动它们,或者在顶层添加“pokemon”exception处理,以确保我的工作人员不会在意外exception情况下死亡?

有很多第三方工具可以帮助解决这个问题。 Monit(http://mmonit.com/monit/)在Node社区中非常stream行。 另一个select是supervisehttp://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"); });