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...