在使用 pymongo 连接 MongoDB 的时候,如果数据库出现问题,pymongo 默认会等待 20 秒左右才会报连接超时,如下图所示:
但实际上,我希望如果 5 秒钟都不能查询到数据,就报错,这样我可以尽快使用备用方案。
要设置 pymongo 的超时功能,需要两个参数serverSelectionTimeoutMS
,socketTimeoutMS
,这两个参数的值的单位都是毫秒。他们的用法为:
import pymongo
handler = pymongo.MongoClient('xxx', serverSelectionTimeoutMS=5000, socketTimeoutMS=5000).test.test
这样,当 5 秒钟无法获取数据时,就会抛出超时错误。