如果收到SIGINT / SIGTERM(例如ctrl + c),则必须优雅地停止我的应用并关闭与mongodb服务器的所有连接。
绝大多数文档/教程状态停止的连接(或
连接池),我必须使用mongoose.disconnect()
-在池中的连接上调用.close()
。
但是所有这些文档也都说应该在所有未完成的写操作完成后完成。
当我收到信号事件(例如SIGINT,SIGTERM等)时如何知道?猫鼬是否具有正常的关机功能,还是在我致电disconnect()
时会丢失数据?
(我使用最新的位。)
答案 0 :(得分:0)
要接收SIGINT信号并停止连接,可以使用以下代码:
process.on('SIGINT', () => {
mongoose.disconnect().then(() => {
process.exit();
});
});