我从Django应用程序一起使用PyMongo和gevent。在生产中,它被托管在Gunicorn上。PyMongo和gevent造成的死锁
我在创建应用程序时创建了一个Connection对象。我有一些后台任务连续运行并每隔几秒执行一次数据库操作。
该应用程序还可以像任何Django应用程序一样提供HTTP请求。
我遇到的问题是以下几点。它只发生在生产环境中,我无法在我的开发环境中重现它。当我让应用程序闲置一段时间(尽管后台任务仍在运行)时,在第一个HTTP请求(实际上是前几个)上,我执行的第一个“find”操作从未完成。 greenlet实际上从不恢复。这会导致前几个HTTP请求超时。
我该如何解决这个问题?这是gevent和/或PyMongo中的错误吗?
您使用的是哪种版本的pymongo? – stbrody