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