【发布时间】:2012-06-08 21:49:33
【问题描述】:
成功运行多年的 cron 作业在完成约 80% 后突然开始死亡。不知道是因为有结果的集合在稳步增长并达到一定的临界大小(对我来说似乎不是那么大)还是出于任何其他原因。我不知道如何调试它,我找到了作业死亡的用户并尝试为该用户运行作业,2 小时后收到 CURSOR_NOTFOUND 消息。昨天它在为所有用户运行 3 小时后死亡。我仍在使用旧的 mongoid (2.0.0.beta),因为存在多种依赖关系并且没有时间更改它,但是 mongo 是最新的(我知道 versions before 1.1.2 中的错误)。
我发现了两个类似的问题,但它们都不适用。在this case 中,他们使用了尚未准备好生产的 Mopped。 here 问题出在分页上。
我收到此错误消息
MONGODB cursor.refresh() for cursor xxxxxxxxx
rake aborted!
Query response returned CURSOR_NOT_FOUND. Either an invalid cursor was specified, or the cursor may have timed out on the server.
有什么建议吗?
【问题讨论】:
-
如果您要分叉孩子,请确保您与 Mongo 断开连接。
-
谢谢!我还在调试这个,但所有的建议都非常有帮助。