一段时间后,MongoDB查询未返回任何结果

时间:2018-06-20 08:54:40

标签: python mongodb pymongo

我正在运行一个使用Pymongo更新mongo数据库中某些条目的过程。我还有另一个进程对这些条目进行轮询(使用“查找” evrey分钟),以查看其他进程是否完成。

我注意到大约30-40分钟后,即使这些条目仍在数据库中,我仍然得到一个空光标。 起初我以为是由于更改了这些条目而发生的,但是随后我运行了一个进程,该进程每分钟只使用一次相同的查询,并且我看到了相同的现象:30-40分钟后,我没有任何结果。 我注意到,如果我等待2-3分钟,就会得到我所要求的结果。

我尝试使用解释功能,但在此找不到任何帮助。

您见过类似的东西吗?如果可以,该怎么办? 有没有办法告诉光标是空的?速率限制可以配置吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

显然是由于mongo中的CPU过多。

每小时将数据库与另一个数据库同步一次,在此期间查询返回空结果。

当我们安排仅每天进行一次同步时,我们不再看到此问题(我们还添加了重试机制以避免同步时间出错。但是,仅当您确定查询有效时,此重试才会有用不应返回空游标)。

相关问题