我如何正常关闭猫鼬的连接池?

问题描述 投票:0回答:1

如果我收到SIGINT / SIGTERM(例如Ctrl + C),那么我必须缓慢停止我的应用程序,并关闭到MongoDB服务器的所有连接。

绝大多数文档/教程状态停止(连接或池)的连接,我必须用mongoose.disconnect() - 这在池中的连接调用.close()

然而所有这些文档还表示,所有的未决写完成后应该是这样的。

我怎么能知道这个时候我收到一个信号事件(例如SIGINT,SIGTERM,等等)?猫鼬是否有正常关机的功能,否则我会失去数据,当我打电话disconnect()

(我使用的是最新的位。)

node.js mongodb mongoose node-mongodb-native
1个回答
0
投票

要接收SIGINT信号和停止连接,您可以使用下面的代码:

process.on('SIGINT', () => {
    mongoose.disconnect().then(() => {
        process.exit();
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.