pymongo CursorNotFound错误
部分报错如下:
File "D:\anaconda\lib\site-packages\pymongo\cursor.py", line 1189, in next
if len(self.__data) or self._refresh():
File "D:\anaconda\lib\site-packages\pymongo\cursor.py", line 1126, in _refresh
self.__send_message(g)
File "D:\anaconda\lib\site-packages\pymongo\cursor.py", line 982, in __send_message
helpers._check_command_response(first)
File "D:\anaconda\lib\site-packages\pymongo\helpers.py", line 152, in _check_command_response
raise CursorNotFound(errmsg, code, response)
CursorNotFound: cursor id 33632884345 not found
我的操作方式是直接从一个集合中取出所有文档(约1000条),然后依次对每条文档进行操作,中间的操作耗时可能会很长(10分钟以上)。
本来以为是长时间没有操作导致游标自动关闭导致的,于是在find函数中把no_cursor_timeout设置为True,然后在处理第101条记录时候依然出现以上错误。网上搜索,得到来自CSDN的博文:
https://blog.csdn.net/zh0u_f/article/details/72897628
https://blog.csdn.net/gehaixia/article/details/50512549
这两位博主提到:
默认 单次从 server获取数据是101条或者 大于1M小于16M的数据
估计一个 batch 大小,让 MongoDB 客户端每次抓取的文档在 10 分钟内能用完,这样客户端就不得不 10 分钟内至少联系服务器一次,保证 cursor 不超时
于是知道原因就在这,因为只设置了超时参数并没有解决问题,于是就再增加了batch_size参数,我设置为5,再跑的时候,就可以了。
docs = db.collection.find(no_cursor_timeout=True, batch_size=5)
pymongo CursorNotFound错误的更多相关文章
- 航空概论(历年资料,引之百度文库,PS:未调格式,有点乱)
航空航天尔雅 选择题1. 已经实现了<天方夜谭>中的飞毯设想.—— A——美国2. 地球到月球大约—— C 38 万公里3. 建立了航空史上第一条定期空中路线—— B——德国4. 对于孔明 ...
- pymongo "ServerSelectionTimeoutError: No servers found yet" 错误的解决
系统转移过程中,擅自把aptitude安装的mongoengine换成了pip安装,系统启动以后,报这个错误 报错提示: File "/usr/local/lib/python2.7/dis ...
- pymongo: MongoClient opened before fork错误排解
使用pymongo配合flask和gunicorn使用的时候触发以下错误信息: [2017-09-19 15:20: ] [25780] [CRITICAL] WORKER TIMEOUT (pid: ...
- pymongo.errors.BulkWriteError错误排解
在mongodb进行数据库操作的时候触发异常 pymongo Error: pymongo.errors.BulkWriteError: batch op errors occurred 这种问题 ...
- APP 链接ROS时出现pymongo.errors.ServerSelectionTimeoutError: localhost:27017 错误
ROS版本上kinetic ,APP是官网开源的make a map,当app链接ROS进行建图时,会出现报错:pymongo.errors.ServerSelectionTimeoutError: ...
- pymongo错误记录
1.AutoReconnect pymongo.errors.AutoReconnect: connection closed 2.ServerSelectionTimeoutError pymong ...
- 【PyMongo】连接10055错误的处理--windows7
http://stackoverflow.com/questions/25621893/mongodump-utility-raise-socketexception
- mongodb pymongo.errors.CursorNotFound: Cursor not found, cursor id: 82792803897
默认 mongo server维护连接的时间窗口是十分钟 默认 单次从 server获取数据是101条或者 大于1M小于16M的数据 所以默认情况下,如果10分钟内未能处理完数据,则抛出该异常. 解决 ...
- [pymongo] pymongo.errors.CursorNotFound Exception
由於find之後,loop執行時間過長導致timeout, cusor失效 解決方式有以下幾種: 1. 使用batch_size() cursor = collection.find({}).batc ...
随机推荐
- git 命令行 修改文件 并push(阿里云)
==============安装git后的准备https://code.aliyun.com/profile/keyshttps://code.aliyun.com/help/ssh/README = ...
- C/C++基础----函数
用实参初始化形参时会忽略掉顶层const. 尽量使用常量引用,普通引用会限制所能接受的实参类型,也会给调用者误导. 管理数组实参的3种方法: 数组本身包含一个结束标记 传递指向数组首尾元素的指针 定义 ...
- bzoj 3768: spoj 4660 Binary palindrome二进制回文串
Description 给定k个长度不超过L的01串,求有多少长度为n的01串S满足: 1.该串是回文串 2.该串不存在两个不重叠的子串,在给定的k个串中. 即不存在a<=b<c<= ...
- SpringMVC 获取请求参数
1.获取Request response对象 在SpringMVC的注解开发中,可以选择性的接收Request和Response对象来使用 2.获取request对象请求参数 a.通过request对 ...
- 页面引用jquery中文变乱码的问题
<script type="text/javascript" src="Js/JavaScript.js"></script> 方法 ...
- cookie讲解
cookie:(翻译过来:小甜点) 意思是不管是谁都喜欢这个小东西 以谷歌为例: cookie:就是存放数据的东西,存放量(存储量很小,大约4KB)存放在客户端下,计算机上,应用设备上 应用场景:用户 ...
- Ubuntu14.04配置jdk1.8.0_25,可切换版本
下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 解压: sudo m ...
- Web 使用反射获得一个对象的所有get方法
问题描述: 由于想知道request中包含哪些getter方法,就想通过反射进行遍历,然后输出,结果异常,异常信息: 问题代码: try { outGetter(request); } catch ( ...
- Hadoop2.0构成之HDFS2.0
HDFS2.0之HA 主备NameNode: 1.主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换: 2.主NameNode的信息发生变化后,会将信息写到共享数 ...
- 基于Linux的Samba开源共享解决方案测试(六)
在极限读场景下,对于客户端的网络监控如图: 在极限写场景下,对于NAS1网关的网络监控如图: 在极限写场景下,对于NAS2网关的网络监控如图: 在极限写场景下,对于客户端的网络监控如图: 在极限混合读 ...