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 ...
随机推荐
- java Collections工具类
Collections 是专门对集合进行操作的类 比如排序sort 也可以使用自定义的比较器 sort文档中的定义 必须具有比较性,具有比较性必须是comparable 的子类 '<T ext ...
- FPGA远程更新之限制条件
FPGA可重配置带来了很高的灵活性,所以基于FPGA的设计/产品往往也会有后期更新/升级的需求.同时,需要更新/升级的FPGA板卡由于物理条件的限制,可能无法现场升级.比如: 1.FPGA板卡部署在异 ...
- 【Oracle学习笔记-1】Win7下安装Oracle 10g
源程序获取 从Oracle的官网上下载Oracle 10g: 10203_vista_w2k8_x86_production_db.zip:==>服务器(必须) 10203_vista_w2k8 ...
- Zabbix二次开发_01基础
最近有个想法:想做一个zabbix数据的二次呈现,所以来写一下Zabbix的api的内容. 先说下zabbix api的认证基础. Zabbix API简介 Zabbix API开始扮演着越来越重要的 ...
- java操作Excel之POI(3)
一.字体处理 /** * 字体处理 */ public static void main(String[] args) throws Exception { Workbook wb = new HSS ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
- System Error:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
System Error:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found 1.运行程序是,系统报错库文件libstdc++. ...
- cecium 笔记
1.Build文件夹 整个拷贝到public文件下,便可使用 2.BingMap(必应地图) Key申请之后,到Build/Cecium/Cecium.js更改默认Key, i.defaultKey ...
- 在 mvc 4 中使用 unity 进行依赖注入
在 mvc 4 中使用 unity 进行依赖注入 关于依赖注入的概念,这里就不再叙述了,我们用 mvc 4 结合 unity,使用构造函数来进行依 赖注入.具体步骤如下: 1. 首先建立 一个 mvc ...
- PyQt5系列教程(七)控件
软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言 控件是PyQt应用程序的基石.PyQt5自带很多不同的控件,包括像button.ch ...