使用Ctrl + C时关闭NodeJS中的MongoDB连接是否有用?

时间:2015-10-27 14:48:31

标签: node.js mongodb

我正在使用MongoDB处理NodeJS脚本。

在没有太多细节的情况下,脚本需要花费很长时间才能执行,大部分时间我都是使用 CTRL + C 完成它。

当我这样做时,我写了一些代码来正确关闭连接。

但我不知道这样做是否有用或无用......

这是我的代码:

MongoClient.connect(url, function (err, db) {
    console.log('Connected correctly to server');

    /* Magic happens here */

    process.on('SIGINT', function () { //Should I do this ?
        console.log('Bye');
        db.close();
        process.exit();
    })
});

我应该使用process.on('SIGINT', fct)还是让节点完成他的工作?

1 个答案:

答案 0 :(得分:0)

实际上是。如果在客户端未正确关闭连接,则服务器会保持该连接,直到达到超时。由于连接数量有限,因此应尝试关闭打开的连接。

虽然问题不是很多,除非你有很多的连接或者服务器上的RAM已经紧张了。 RAM可能是一个问题,因为服务器分配1MB /连接的堆栈,所有游标都保留,直到连接关闭(超时或显式)或光标用尽。

总而言之:是的,最好关闭与服务器建立的连接以提高资源效率,但如果不这样做,则不是TEOTWAWKI

由于信号处理程序没有太大问题,请使用它。