我從Django應用程序一起使用PyMongo和gevent。在生產中,它被託管在Gunicorn上。PyMongo和gevent造成的死鎖
我在創建應用程序時創建了一個Connection對象。我有一些後臺任務連續運行並每隔幾秒執行一次數據庫操作。
該應用程序還可以像任何Django應用程序一樣提供HTTP請求。
我遇到的問題是以下幾點。它只發生在生產環境中,我無法在我的開發環境中重現它。當我讓應用程序閒置一段時間(儘管後臺任務仍在運行)時,在第一個HTTP請求(實際上是前幾個)上,我執行的第一個「find」操作從未完成。 greenlet實際上從不恢復。這會導致前幾個HTTP請求超時。
我該如何解決這個問題?這是gevent和/或PyMongo中的錯誤嗎?
您使用的是哪種版本的pymongo? – stbrody