有没有办法检查pymongo中没有主/主

时间:2013-12-10 07:57:21

标签: mongodb replication pymongo replicaset

在我的应用程序中,当主人因某些原因不可用时(例如,DC之间的连接断开),我正在尝试优雅的处理案例。在这种情况下,应该在前端禁用写操作,缓存数据库应该用于某些读操作。

我尝试使用rs.status()命令。它适用于mongo shell,但由于pymongo命令不在列表replSetGetStatus中,因此当主服务器不可用时,rp.secondary_ok_commands无效。结果我得到了例外:

  

AutoReconnect:没有副本集主可用于使用ReadPreference PRIMARY进行查询。

原因我可以处理这个异常,但它是在超时后产生的(在我的情况下为10秒)。但在我的情况下,这太长了。我更喜欢立即回复,如果有时它会不正确,我也可以。

1 个答案:

答案 0 :(得分:1)

为此,我们在PyMongo中引入了alive()方法。