gpt4 book ai didi

python - pymongo + gevent : throw me a banana and just monkey_patch?

转载 作者:IT老高 更新时间:2023-10-28 13:10:09 24 4
gpt4 key购买 nike

这里需要比我现在更多的 pymongo 领域专业知识:

pymongo 驱动程序的“正确”部分是用 python 编写的,我可以调用 gevent monkey_patch() 并成功地改变 pymongo 在 gevent“异步”greenlets 中的 r/w 阻塞行为吗?

如果这需要在 gevent 和 pymongo 上做更多的工作——但这​​是可行的——只要我能在 irc 上获得一些指导,我就非常愿意投入时间。

谢谢!

注意:在小规模 mongo 写入不是一个大问题,因为我们只是在解除阻塞之前排队写入“请求”。但是与 fiorix 谈论他扭曲的异步 mongo 驱动程序(https://github.com/fiorix/mongo-async-python-driver),即使是 mongo 的快速写入(请求)也可能导致大规模异步应用程序出现问题。 (当然,非阻塞读取可能从一开始就引起问题!)

最佳答案

我已将 PyMongo 与 Gevent 一起使用,以下是您需要注意的一些事项:

  1. 仅实例化一个 pymongo.Connection 对象,最好作为全局或模块级变量。这很重要,因为 Connection 内部有一个池!
  2. Monkey 修补所有内容,或者至少同时修补套接字和线程。由于 Connection 中使用了线程局部变量,仅修补套接字是不够的。
  3. 记得调用 end_request 将连接返回到池中。

你的问题的答案是继续,PyMongo 与 Gevent 配合得很好。

关于python - pymongo + gevent : throw me a banana and just monkey_patch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7166998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com