我有一个监控脚本每分钟检查一次我们的mongodb实例,并且需要一个很好的连接方法,执行一个简单的查询并使其在10秒内返回,或者仅在一些时间内返回可预测的方式,如果它需要超过10秒,让我抓住该错误/例外。使用pymongo检查服务器状态超时
根据pymongo的文档,您不能设置查询超时,只有套接字和连接超时(这似乎工作正常)。有没有解决这个问题的方法?
程序的流程是这样的:
- 连接到MongoDB的
- 执行一个简单的查询
find()
检查最近更新的文件(用于统计) - 关闭连接。
#1总是可以正常工作,但是整个请求在#2超时,没有办法让我在自己自己施加的10秒限制内捕获它。
由于许多并发的map-reduce查询,锁定似乎在繁忙时间发生。我们使用的是mongodb 2.4.3。
如果这是一个索引find(),它应该完成比超时更快的方式,特别是因为您只查询单个记录! –