2013-02-18 2 views
2

Я хочу использовать PyMongo в качестве регистратора для приложения Django.Как вставить async в журнал mongodb?

Я не против, если некоторые вставки в таблице журнала потеряны, поэтому я хочу отправить журнал на mongodb на другом сервере и продолжить выполнение, не дожидаясь подтверждения.

Я читаю документы pymongo, но мне непонятно, блокируются ли вставки в коллекции.

Я имею в виду сделать это внутри метода Джанго модели

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

Поскольку вы передаете параметр w=0 в insert, операция не блокируется, и вызов просто ставит очередь в документ для вставки и возврата.

И оставить соединение открытым для лучшей производительности.

Смежные вопросы