Node.js脚本不退出

时间:2015-07-19 15:49:28

标签: javascript node.js mongodb

为什么以下代码在运行所有3行后不会导致节点退出进程?

var monq = require('monq')
var client = monq('mongodb://remote.db.com:27017/mydB')
var queue = client.queue('users')

如果未执行第3行,脚本会退出。

2 个答案:

答案 0 :(得分:0)

您必须等到异步操作(处理队列)完成,然后调用process.exit()以结束脚本执行。请参阅:https://nodejs.org/api/process.html#process_process_exit_code

答案 1 :(得分:-1)

在调用client.queue('users')之前,与Mongo的基础连接似乎无法建立。 monq有一个client.close()方法可以关闭它的'数据库连接。使用一些mod可以测试它。

    var monq = require('monq')
    var client = monq('mongodb://localhost:27017/mydB')
    var queue;
    setTimeout(function() {
        // create the queue which establishes the connections
        queue = client.queue('users');
        setTimeout(function() {
            // close connection
            client.close();
        }, 5000)
    }, 5000);