ethstats-client/app.js
2015-05-05 06:59:48 +03:00

33 lines
748 B
JavaScript

'use strict';
var nodeModel = require('./lib/node');
var node = new nodeModel();
var gracefulShutdown = function() {
console.log('');
console.error("xxx", "sys", "Received kill signal, shutting down gracefully.");
node.stop();
console.info("xxx", "sys", "Closed node watcher");
setTimeout(function(){
console.info("xxx", "sys", "Closed out remaining connections.");
process.exit(0);
}, 5*1000);
}
// listen for TERM signal .e.g. kill
process.on('SIGTERM', gracefulShutdown);
// listen for INT signal e.g. Ctrl-C
process.on('SIGINT', gracefulShutdown);
// listen for shutdown signal from pm2
process.on('message', function(msg) {
if (msg == 'shutdown')
gracefulShutdown();
});
module.exports = node;