Django アプリケーションから、PyMongo と gevent を一緒に使用しています。本番環境では、Gunicorn でホストされています。
アプリケーションの起動時に単一の Connection オブジェクトを作成しています。バックグラウンド タスクを継続的に実行し、数秒ごとにデータベース操作を実行しています。
このアプリケーションは、Django アプリと同様に HTTP リクエストも処理します。
私が抱えている問題は次のとおりです。本番環境でのみ発生します。開発環境では再現できませんでした。アプリケーションをしばらくアイドル状態にすると (バックグラウンド タスクはまだ実行されています)、最初の HTTP 要求 (実際には最初のいくつか) で、実行する最初の「検索」操作が完了しません。グリーンレットは実際には再開しません。これにより、最初のいくつかの HTTP 要求がタイムアウトします。
どうすれば修正できますか?それは gevent や PyMongo のバグですか?