为什么以下代码在运行所有3行后不会导致节点退出进程?
var monq = require('monq')
var client = monq('mongodb://remote.db.com:27017/mydB')
var queue = client.queue('users')
如果未执行第3行,脚本会退出。
答案 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);