(新手问题,对此感到抱歉-我刚开始使用 MongoDB)
我像这样在heroku上连接到mongo:
self.connection = pymongo.Connection(MONGO_URL)
self.db = self.connection.app13805318
是否有可能我在几个小时后尝试使用 self.db 却无法阅读?我是否需要对连接进行某种保活或刷新?
引用 Pymongo 文档:https ://pymongo.readthedocs.io/en/stable/api/pymongo/mongo_client.html#pymongo.mongo_client.MongoClient
客户端对象是线程安全的,并且内置了连接池。如果由于网络错误而导致操作失败,则会引发 ConnectionFailure 并且客户端会在后台重新连接。应用程序代码应处理此异常(识别操作失败),然后继续执行。
因此,正如@james-wahlin 在评论中所建议的那样,您不应仅仅依赖 pymongo 的连接池机制,而应始终包装您对self.db
intry..except
子句的使用。
希望这可以帮助。