爲什麼下面的代碼在運行全部3行之後不會導致節點退出進程?Node.js腳本不退出
var monq = require('monq')
var client = monq('mongodb://remote.db.com:27017/mydB')
var queue = client.queue('users')
如果未執行第3行,腳本會退出。
爲什麼下面的代碼在運行全部3行之後不會導致節點退出進程?Node.js腳本不退出
var monq = require('monq')
var client = monq('mongodb://remote.db.com:27017/mydB')
var queue = client.queue('users')
如果未執行第3行,腳本會退出。
看起來到Mongo的底層連接在client.queue('users')
被調用之前並沒有建立。 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);
必須等到異步操作(處理隊列)將完成,然後,打電話process.exit()
結束腳本的執行。請參閱:https://nodejs.org/api/process.html#process_process_exit_code
看起來您已將作業添加到隊列中,並且繼續等待被告知執行作業。 – michaelAdam