我有一個節點應用程序,我使用集羣在多個核心上運行。重新引導node.js集羣工作人員
我遇到了一個問題,當我的應用程序拋出一個異常時,工作人員死亡並且不會重新啓動。這是有道理的,但我想知道是否有更好的方法來處理重新啓動這些工作人員,而不是必須監視它,或嘗試/捕獲或聆聽每一個錯誤。
我以前永遠都用過,看起來像這樣的東西對羣集來說很好。
有沒有辦法重新啓動它們,或者在頂層添加「pokemon」異常處理以確保我的工作人員不會在意外異常情況下死亡?
我有一個節點應用程序,我使用集羣在多個核心上運行。重新引導node.js集羣工作人員
我遇到了一個問題,當我的應用程序拋出一個異常時,工作人員死亡並且不會重新啓動。這是有道理的,但我想知道是否有更好的方法來處理重新啓動這些工作人員,而不是必須監視它,或嘗試/捕獲或聆聽每一個錯誤。
我以前永遠都用過,看起來像這樣的東西對羣集來說很好。
有沒有辦法重新啓動它們,或者在頂層添加「pokemon」異常處理以確保我的工作人員不會在意外異常情況下死亡?
有很多第三方工具可以幫助解決這個問題。 Monit(http://mmonit.com/monit/)在Node社區中非常流行。另一種選擇是supervise
(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");
});