-
Notifications
You must be signed in to change notification settings - Fork 2
/
monitor.js
34 lines (26 loc) · 692 Bytes
/
monitor.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var respawn = require('respawn');
var util = require('util');
var logger = require('./source/utils/logger');
function monitor(mode) {
var proc = respawn(['node', 'app.js'], {
cwd: '.',
maxRestarts: 10,
sleep: 1000,
});
proc.on('spawn', function () {
util.print('application monitor started...');
});
proc.on('exit', function (code, signal) {
logger.fatal({msg: 'process exited, code: ' + code + ' signal: ' + signal});
});
proc.on('stdout', function (data) {
util.print(data.toString());
});
proc.on('stderr', function (data) {
logger.error({msg: 'process error', data: data.toString()});
});
return proc;
}
[monitor()].forEach(function (m) {
m.start();
});