mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-21 16:00:26 +01:00
cleanly shutdown
wait for webserver to stop accepting connections destroy current connections wait for db connection to close
This commit is contained in:
@@ -55,6 +55,25 @@ server.on('error', function (err) {
|
||||
throw err;
|
||||
});
|
||||
|
||||
// see https://github.com/isaacs/server-destroy/blob/master/index.js
|
||||
var connections = {};
|
||||
server.on('connection', function (conn) {
|
||||
var key = conn.remoteAddress + ':' + conn.remotePort;
|
||||
connections[key] = conn;
|
||||
conn.on('close', function () {
|
||||
delete connections[key];
|
||||
});
|
||||
});
|
||||
|
||||
module.exports.destroy = function (callback) {
|
||||
server.close(callback);
|
||||
for (var key in connections) {
|
||||
if (connections.hasOwnProperty(key)) {
|
||||
connections[key].destroy();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
module.exports.listen = function (callback) {
|
||||
callback = callback || function () { };
|
||||
emailer.registerApp(app);
|
||||
@@ -250,7 +269,7 @@ function setupAutoLocale(app, callback) {
|
||||
function listen(callback) {
|
||||
callback = callback || function () { };
|
||||
var port = nconf.get('port');
|
||||
var isSocket = isNaN(port);
|
||||
var isSocket = isNaN(port) && !Array.isArray(port);
|
||||
var socketPath = isSocket ? nconf.get('port') : '';
|
||||
|
||||
if (Array.isArray(port)) {
|
||||
|
||||
Reference in New Issue
Block a user