2011-09-16 42 views
1

我有一個節點應用程序,我使用集羣在多個核心上運行。重新引導node.js集羣工作人員

我遇到了一個問題,當我的應用程序拋出一個異常時,工作人員死亡並且不會重新啓動。這是有道理的,但我想知道是否有更好的方法來處理重新啓動這些工作人員,而不是必須監視它,或嘗試/捕獲或聆聽每一個錯誤。

我以前永遠都用過,看起來像這樣的東西對羣集來說很好。

有沒有辦法重新啓動它們,或者在頂層添加「pokemon」異常處理以確保我的工作人員不會在意外異常情況下死亡?

回答

2

有很多第三方工具可以幫助解決這個問題。 Monit(http://mmonit.com/monit/)在Node社區中非常流行。另一種選擇是supervise(http://cr.yp.to/daemontools.html)。

2

叉時死亡事件發生時,新來的工人

cluster.on("death", function(worker){ 
    console.log("worker " + worker.pid + " died"); 
    var newWorker = cluster.fork(); 
    console.log("worker " + newWorker.id + " live"); 
}); 
相關問題