ページ

2013年5月3日

Node.jsのclusterでworkerが異常終了したとき自動的にforkして復帰させる方法


Node.jsでclusterモジュールを使って、masterからworkerをいくつか呼び出してアプリを動かすことはよくある。

そのときに、workerが正常終了(worker内でプログラマが意図してkillさせた場合)した場合と、異常終了した場合とで処理を分けたい時がある。

特に、異常終了した場合に自動的にworkerを再起動させる方法をまとめておく。

バージョン

以下の環境にて動作確認済
  • Node.js v0.10.5
  • Amazon Linux AMI 2013.03

やりかた

とりあえずサンプルを載せます。


こんな感じで動く。

exitイベントでコールバックしてきたworkerオブジェクトがsuicideというプロパティを持っているので、そこを参照すると、そのexitイベントが正常終了によって起こったものなのかどうかが分かる。

参考資料


Related Posts Plugin for WordPress, Blogger...