(新手问题,抱歉 - 我刚开始使用MongoDB)
我正在heroku上连接到mongo,就像这样:
self.connection = pymongo.Connection(MONGO_URL)
self.db = self.connection.app13805318
我有可能在几个小时后尝试使用self.db并且无法读取它吗?我是否需要进行某种保持连接或刷新连接?
答案 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
的使用。
希望这有帮助。