我試圖在中優雅地關閉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