【发布时间】:2018-07-19 07:59:21
【问题描述】:
我正在使用 3 节点 MongoDB 副本集并使用 Pymongo v3.3.1 连接到它。
在测试 AutoReconnect 和 ServerSelectionTimeout 等错误的处理时,我发现我无法(安全/可靠地)控制引发 AutoReconnect 异常所需的时间。
如果我实例化 MongoClient 并将参数 serverSelectionTimeoutMS 设置为例如 2000,我确实看到 ServerSelectionTimeout 异常在大约 2 秒内返回。但是,当触发自动重新连接的条件恰到好处时,它总是需要至少 20 秒,有时更接近 30 秒!
如何限制这种行为?我正在争取相对较高的可用性,并希望检测网络/副本集异常并相当快地开始我的重试逻辑。
【问题讨论】:
标签: python mongodb python-2.7 pymongo