如何在游标上指定no-timeout选项?

时间:2012-06-05 23:29:44

标签: ruby mongodb

如何在光标上指定no-timeout选项?

我可以手动和从我的笔记本电脑上运行这个工作,但是服务器上出现了一些问题,而且我一直收到这个错误:

游标xxx的MONGODB cursor.refresh() 查询响应返回CURSOR_NOT_FOUND。指定了无效游标,或者游标可能已在服务器上超时。 游标yyy的MONGODB cursor.refresh()

作业从ruby调度程序文件运行,并在rake中指定为命名空间 rake正在调用中间的另一个ruby模块,并且在执行此模块期间作业将终止

我问过这个问题earlier并且它被推翻了。请,而不是downvoting解释什么是如此愚蠢,因为我真的需要解决这个问题,无法弄清楚发生了什么。

服务器是实验性的,没有任何监控工具。但它似乎是可靠的。而且没有其他工作在运行。

1 个答案:

答案 0 :(得分:13)

有关如何关闭游标超时的详细信息,请参阅FAQ以获取Ruby MongoDB驱动程序。

来自那里的例子:

@collection.find({}, :timeout => false) do |cursor|
   cursor.each do |document
     # Process documents here
   end
end