私はGeventでPyMongoを使用しましたが、注意が必要な点がいくつかあります。
-
pymongo.Connectionを1つだけインスタンス化します オブジェクト、できればグローバル変数またはモジュールレベルの変数として。Connectionであるため、これは重要です。 それ自体にプールがあります! - モンキーパッチはすべて、または少なくともソケットとスレッドの両方にパッチを適用します。
Connectionでスレッドローカルを使用しているため 、パッチソケットだけでは不十分です。 - 忘れずに
end_requestを呼び出してください 接続をプールに戻します。
あなたの質問への答えは先に進んでください、PyMongoはGeventでうまく機能します。