ethstats-client/app.js
2015-04-29 23:34:52 +03:00

32 lines
687 B
JavaScript

'use strict';
var nodeModel = require('./lib/node');
var node = new nodeModel();
var gracefulShutdown = function() {
console.warn("Received kill signal, shutting down gracefully.");
node.stop();
console.info("Closed node watcher");
setTimeout(function(){
console.info("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;