Mongodb 在pymongo中保持光标的活动状态

Mongodb 在pymongo中保持光标的活动状态,mongodb,pymongo,Mongodb,Pymongo,默认情况下,Mongo游标在不活动10分钟后死亡。我有一个空白光标,我最终想在整个数据库中运行它,但会有超过10分钟的不活动时间。我需要一种方法让它保持活力,我可以一直叫它 完全关闭到期时间不是一个选项。如果此程序崩溃,将导致游标在数据库内存中徘徊,这是不好的。在我的其他工作中,偶尔调用.next()也不起作用,因为批处理大小设置得相当高,以便在频繁调用游标的代码的其他部分上获得良好的性能 我试着周期性地调用cursor.alive,看看它是否向Mongo发送了一个信号,该信号将保持光标处于活动

默认情况下,Mongo游标在不活动10分钟后死亡。我有一个空白光标,我最终想在整个数据库中运行它,但会有超过10分钟的不活动时间。我需要一种方法让它保持活力,我可以一直叫它

完全关闭到期时间不是一个选项。如果此程序崩溃,将导致游标在数据库内存中徘徊,这是不好的。在我的其他工作中,偶尔调用.next()也不起作用,因为批处理大小设置得相当高,以便在频繁调用游标的代码的其他部分上获得良好的性能


我试着周期性地调用cursor.alive,看看它是否向Mongo发送了一个信号,该信号将保持光标处于活动状态,但不起作用。

尝试使用较小的批处理大小。这将导致活动,您不应达到10分钟超时

for doc in coll.find().batch_size(10):
或者,您可以在调用
find
时设置
timeout=False
(如果光标未手动关闭,可能会导致问题):

for doc in coll.find(timeout=False)