フロントエンドエンジニアになりたい

デザイナーなのかコーダーなのかディレクターなのかよくわからない人のブログ。趣味で絵を描きました(過去形)

forever-monitorでNode.jsスクリプトを簡単デーモン化

Node.jsを定常運用しようとするとデーモン化しなくてはとなりますが、forever-monitorを使うとコードでいろいろと制御できて便利です。

インストールは省略。

./
├── monitor.js // 監視用
└── something.js // これをデーモン化

monitor.js

var forever = require('forever-monitor');
// something.js の子プロセスの初期化
var child = new (forever.Monitor)('something.js', {
  'args': [
    '-some', 'thing' // 子プロセスのパラメータ
  ]
});
// イベントを定義できます
child.on('watch:restart', function(info) {
    console.error('Restaring script because ' + info.file + ' changed');
});
child.on('restart', function() {
    console.error('Forever restarting script for ' + child.times + ' time');
});
child.on('exit:code', function(code) {
    console.error('Forever detected script exited with code ' + code);
});
// プロセススタート
child.start();
$ node monitor.js