我对我们的 node.js 服务器实现了优雅的停止。基本上是这样的:
var shutDown = function () {
server.on('close', function () {
console.log('Server ' + process.pid + ' closed.');
process.exit();
});
console.log('Shutting down ' + process.pid + '...');
server.close();
}
但是,当我像这样关闭服务器时,Error: socket hang up
我的连续请求中出现错误。
我认为这server.close()
会使服务器停止侦听和接受新请求,但继续处理所有挂起/打开的请求。但是,这应该会导致Error: connect ECONNREFUSED
.
我究竟做错了什么?
附加信息:服务器由一个主服务器和三个分叉的孩子/工人组成。然而,master 并没有监听或绑定到一个端口,只有子节点在监听,并且它们如上所述被关闭。