清理closuresexpress.js + mongodb服务器(使用node.js)
我有使用express.js和mongodb作为数据存储的node.js web服务器。 这台服务器是由runit
控制的,我试图实现一种正常closures服务器的方式。
我正在为SIGINT
和SIGTERM
实现信号处理程序,并且我知道可以通过调用createServer()
返回的对象上的.close()
来停止监听新连接。 到现在为止还挺好。
但是,即使没有更多的请求即将到来,系统中可能还有很多请求需要完成,然后才能closures数据库。
我正在使用一个mongodb ReplicaSet,我想如果我只是立即调用db.close()
,这些请求中的一些可能会以某种方式失败。 是否有某种方式来closures数据库的方式,使待完成的数据库查询完成,或者我必须手动有一个+/-计数器,看看有多less“活动”查询挂起,然后等待关机,直到它达到0 ?
您必须手动确保您处于干净状态才能closures,因为驱动程序在closures之前不会等待刷新剩余的操作。
随意loginfunction的票