我试图在中优雅地关闭node.js使用express 4.x http服务器。在node.js/express中异步关闭异步作业
关闭快速服务器很简单,但是我担心的是我们有很多异步作业。流程的一个例子:
- 接收请求
- 做一些东西
- 发送响应返回给客户端
- 在后台继续做相关的这一请求喜欢做的另一请求一些第三部分异步的东西部分服务
- 接收从第三部分的服务响应并保存响应于数据库等
- 完成
所以,如果我做我的正常关闭这样的代码:
process.on('SIGTERM', function() {
serverInstance.close(function(){
closeConnectionToDatabases(function(){
process.exit(0);
})
});
// shutdown anyway after some time
setTimeout(function(){
process.exit(0);
}, 8000);
});
我怎么能相信,如果SIGTERM已第一步和第二步中流动上述解释之间发生的一切都还好吗?第四步,第五步和第六步呢?有没有什么好的方法来处理这个问题呢,还是仅仅是手动监视从你的服务以异步方式发出的所有请求并等待它们?
感谢, 伊万
这是去年三月......我可以问你什么结束了做? – Merc 2016-03-13 01:28:18