能否使用Python进行Mongo的非阻塞批量插入?

6

我需要读取经过网络传输的一些数据,并将其插入到MongoDB中。所有这些都使用Python脚本完成。有没有办法从Python中对Mongo进行非阻塞插入,这样我就可以在Mongo服务器处理插入时继续处理网络传输的数据?

2个回答

4

可以。有三种可能:

  1. 进行未确认的插入:collection.insert(documents, w=0)。调用insert()后,数据已写入套接字的输出缓冲区,你的代码不会因等待MongoDB的确认而阻塞。你的应用程序将得不到任何错误报告。关于写入关注更多信息请看这里这里
  2. 将文档批量添加到队列中,在单独的线程中从队列中弹出并插入到MongoDB中:collection.insert(q.get())
  3. 如James Mills所建议的,将应用程序转移到Tornado和Motor上;这似乎需要学习最多,并且可能过度设计。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接