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

Avi*_*eir 5 python heroku mongodb

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

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

self.connection = pymongo.Connection(MONGO_URL)
self.db = self.connection.app13805318
Run Code Online (Sandbox Code Playgroud)

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

woo*_*ing 6

引用 Pymongo 文档:https ://pymongo.readthedocs.io/en/stable/api/pymongo/mongo_client.html#pymongo.mongo_client.MongoClient

客户端对象是线程安全的,并且内置了连接池。如果操作因网络错误而失败,则引发 ConnectionFailure 并且客户端在后台重新连接。应用程序代码应该处理这个异常(认识到操作失败)然后继续执行。

因此,正如@james-wahlin 在评论中所建议的那样,您不应仅仅依赖 pymongo 的连接池机制,而应始终包装self.dbintry..except子句的使用。

希望这可以帮助。