检查mongodb服务器是否同步处于活动状态

时间:2014-07-02 14:20:00

标签: javascript node.js mongodb

有没有办法同步检查mongod实例(使用mongoclient)是否仍在运行?

我的mongoclient模块中有一个db.on('close')处理程序,在mongod正常退出的情况下工作,但如果我终止服务器进程,我的节点应用程序将完全挂起,无法恢复正常职责。所有请求都被阻止,没有超时。

当mongod再次启动时,应用程序将恢复正常,所以如果等待时间过长,肯定会有一些事情可以杀死应用程序。

我只能想到同步这样做,因为再次回调db.runCommand({serverStauts: 1})肯定会陷入同一状态。

1 个答案:

答案 0 :(得分:1)

我将db.on('close')的类似句柄附加到'错误'事件中,它就像一个魅力。

继承我使用的代码(在mongoclient.open内部)

db.on('error', function() {
                close(); // calls mongoclient.close()
                return callback('Lost MongoDB!', null);
            });