2011-09-16 8 views
1

私は複数のコアで実行するためにクラスタを使用するノードアプリケーションを持っています。node.jsクラスタワーカーをリブート

私のアプリが例外をスローするとワーカーが死んで再起動しないという問題が発生しています。それは理にかなっていますが、これらのワーカーを監視したり、すべてのエラーを試したり試したりするのではなく、これらのワーカーを再起動する方が良い方法があるのだろうかと思います。

私はずっと前から使用していました。このようなものがクラスタでうまくいくようです。

予期しない例外が発生した場合にワーカーが死ぬことがないように、「ポケモン」例外処理をexpressの最上位レイヤーに追加する方法はありますか?

答えて

2

これに役立つサードパーティのツールがたくさんあります。 Monit(http://mmonit.com/monit/)は、Nodeコミュニティで非常に一般的です。多くのオプションのうちのもう1つは、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"); 
}); 
関連する問題