import time
import pymongo
client_6 = pymongo.MongoClient("mongodb://localhost:27017", maxPoolSize=2000, waitQueueTimeoutMS=100)
session_6 = client_6.start_session()
session_id_6 = session_6.session_id
refreshTimestamp = time.time()
def refresh():
"""
每5分钟刷新连接,避免游标超时或者连接失效,需要在耗时长的循环中调用
参考 https://docs.mongodb.com/manual/reference/method/cursor.noCursorTimeout/
"""
global refreshTimestamp
if (time.time() - refreshTimestamp) > 60 * 5:
print("refreshing session")
client_6.admin.command({"refreshSessions": [session_id_6]})
# res = client_6.admin.command("refreshSessions", [session_id_6]) # 或者使用这种形式
refreshTimestamp = time.time()
cursor = session_6.client["gpf"]["0928"].find()
for i in cursor:
print(i)
refresh()
time.sleep(10)
mongo游标超时问题
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1.离线rpm包安装卡住,原因是yum localinstall出现联网,但内网无法访问外网导致。更换为:rpm ...
- 发现问题:上层服务A任务失败触发告警,排查是因为调用服务B时接口偶现time out。登录服务B定位:首先确定网络...
- 这几天做H5的包壳应用,发现手机第一次安装这种应用 弹出了 是否允许访问 网络,即使你点击了允许 也无法正常加载,...
- 1.简介 ES为了避免深分页,不允许使用分页(from&size)查询10000条以后的数据,因此如果要查询第10...
- 使用 siege 对项目接口进行并发测试时,后台日志出现下面几种异常: _io.BufferedReader Pa...