我正在使用node.js和MongoDB,我有异步代码(async.queue)来更新MongoDB.
当队列中的所有任务完成后,我打电话
db.close() // db is a Mongo client instance
Run Code Online (Sandbox Code Playgroud)
因此任务使用的所有连接都是关闭的.但是,在极少数情况下,我发现mongoDB日志中存在从未关闭的打开连接.因此,几周后,将有数百个连接从未关闭.
我研究并发现可能我应该设置此选项maxIdleTimeMS,但所有驱动程序都不支持此选项(node.js驱动程序不支持此选项).
即使我可以微调我的代码,以确保没有这样的条件close()没有被调用.我仍然想知道如果一个应用程序没有db.close()出于某种原因(或作为额外的保险)呼叫,有什么办法可以防止在MongoDB中挂起连接?
看起来空闲一段时间后,连接被关闭。
目前尚不清楚使用哪个驱动程序,但在其中一篇文章中有指向文档的链接:
http://mongodb.github.io/node-mongodb-native/api- generated/server.html#server
将 keepAlive 设置为 0,您的连接将被终止...
| 归档时间: |
|
| 查看次数: |
1897 次 |
| 最近记录: |