检查mongodb服务器是否同步激活

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

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

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

我只能想到做同步做另一个callbackdb.runCommand({serverStauts: 1})肯定会陷入相同的状态。

我给db.on('close')附加了一个类似的句柄来处理'error'事件,它的function就像一个魅力一样。

下面是我使用的代码(在mongoclient.open中)

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