Mongodb 如何使用pymongo MongoClient构造函数在给定的时间限制后中止mongo操作?
根据,您可以通过find()参数或收集方法设置查询操作的时间限制:Mongodb 如何使用pymongo MongoClient构造函数在给定的时间限制后中止mongo操作?,mongodb,pymongo,pymongo-3.x,Mongodb,Pymongo,Pymongo 3.x,根据,您可以通过find()参数或收集方法设置查询操作的时间限制: cursor=db.collection.find(最大时间=1) 或 cursor=db.collection.find().max\u time\u ms(1) 报告说: 最大时间(可选):指定查询操作的时间限制。如果超过指定的时间,操作将中止并引发ExecutionTimeout。将此作为对光标调用max_time_ms()的替代方法传递 我们目前遇到一个问题,查询在消耗所有RAM和服务器死亡之前运行约30分钟。我
cursor=db.collection.find(最大时间=1)
或
cursor=db.collection.find().max\u time\u ms(1)
报告说:
- 最大时间(可选):指定查询操作的时间限制。如果超过指定的时间,操作将中止并引发ExecutionTimeout。将此作为对光标调用max_time_ms()的替代方法传递
find
s和游标:有没有办法直接在MongoClient
构造函数中设置此参数?
报告说:
- socketTimeoutMS:(整数或无)控制驱动程序在发送普通(非监控)数据库操作后等待响应的时间(毫秒),然后得出网络错误已发生的结论。默认为无(无超时)
- connectTimeoutMS:(整数或无)控制在服务器监控期间,当将新套接字连接到服务器时,驱动程序将等待多长时间(以毫秒为单位),然后确定服务器不可用。默认值为20000(20秒)
- serverSelectionTimeoutMS:(整数)控制驱动程序等待查找可用的适当服务器以执行数据库操作的时间(以毫秒为单位);在等待期间,可以执行多个服务器监视操作,每个操作都由connectTimeoutMS控制。默认值为30000(30秒)
…找不到另一个超时,并且这些超时似乎都不等于
max\u time\u ms
。我错过了什么吗?我认为所有这些暂停只针对司机,而不是服务器端。要在服务器使用中终止进程,目前不可能,但有一个功能请求: