MongoDB连接是否可能在Python中超时?

时间:2013-07-17 14:41:57

标签: python mongodb heroku

(新手问题,抱歉 - 我刚开始使用MongoDB)

我正在heroku上连接到mongo,就像这样:

self.connection = pymongo.Connection(MONGO_URL)
self.db = self.connection.app13805318

我有可能在几个小时后尝试使用self.db并且无法读取它吗?我是否需要进行某种保持连接或刷新连接?

1 个答案:

答案 0 :(得分:4)

引用Pymongo文档:http://api.mongodb.org/python/current/api/pymongo/mongo_client.html#pymongo.mongo_client.MongoClient

  

结果客户端对象内置了连接池。它还在必要时执行自动重新连接。如果由于连接错误导致操作失败,则引发ConnectionFailure。如果将执行自动重新连接,将引发AutoReconnect。应用程序代码应处理此异常(识别操作失败),然后继续执行。

正如@ james-wahlin在评论中所建议的那样,你不应该只依赖于pymongo的连接池机制,而是总是在self.db子句中包含你对try..except的使用。

希望这有帮助。