3

PyMongoをDjangoアプリのロガーとして使用したいと思います。

ログテーブルの一部の挿入が失われてもかまわないので、別のサーバーのmongodbにログを送信し、確認を待たずに実行を続行したいと思います。

pymongoのドキュメントを読んでいますが、コレクション内の挿入がブロックされているかどうかはわかりません。

djangoモデルメソッド内でこれを行うことを考えています

from pymongo import MongoClient
conn = MongoClient('mongoserver', 27017)
db   = conn.main
col  = db.log
col.insert({"user": "Pedro", "action": "search", "Origin": "Katmandu"}, w=0)
conn.close()

インサートがそのように非同期であるかどうか、接続を閉じる必要があるかどうかはわかりません

4

1 に答える 1

6

w=0にパラメータを渡すためinsert、操作は非ブロッキングであり、呼び出しは単にドキュメントを挿入して返すためにキューに入れます。

最高のパフォーマンスを得るには、接続を開いたままにしておきます。

于 2013-02-18T02:54:27.327 に答える