如何将异步插入mongodb中的日志?

jpe*_*lli 2 python asynchronous mongodb pymongo

我想使用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()
Run Code Online (Sandbox Code Playgroud)

我不知道插件是否像那样异步,是否应该关闭连接

Joh*_*yHK 5

因为您正在传递w=0参数insert,所以操作是非阻塞的,并且调用将简单地对文档进行排队以进行插入和返回.

并保持连接打开以获得最佳性能.