|
|
@ -42,6 +42,7 @@ Loader.init = function(callback) {
|
|
|
|
|
|
|
|
|
|
|
|
process.on('SIGHUP', Loader.restart);
|
|
|
|
process.on('SIGHUP', Loader.restart);
|
|
|
|
process.on('SIGUSR2', Loader.reload);
|
|
|
|
process.on('SIGUSR2', Loader.reload);
|
|
|
|
|
|
|
|
process.on('SIGTERM', Loader.stop);
|
|
|
|
callback();
|
|
|
|
callback();
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
@ -217,6 +218,16 @@ Loader.reload = function() {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Loader.stop = function() {
|
|
|
|
|
|
|
|
Object.keys(cluster.workers).forEach(function(id) {
|
|
|
|
|
|
|
|
// Gracefully close workers
|
|
|
|
|
|
|
|
cluster.workers[id].kill();
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Clean up the pidfile
|
|
|
|
|
|
|
|
fs.unlinkSync(__dirname + '/pidfile');
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
Loader.notifyWorkers = function (msg) {
|
|
|
|
Loader.notifyWorkers = function (msg) {
|
|
|
|
Object.keys(cluster.workers).forEach(function(id) {
|
|
|
|
Object.keys(cluster.workers).forEach(function(id) {
|
|
|
|
cluster.workers[id].send(msg);
|
|
|
|
cluster.workers[id].send(msg);
|
|
|
|