gevent和pymongo ajax问题

时间:2016-02-26 07:15:01

标签: mongodb heroku pymongo bottle gevent

我在bottle.py上有一个单页网络应用程序,gevent作为服务器(在Heroku中托管)。

页面发送ajax请求,服务器从MongoDB获取数据(map-reduce)并返回json。 有一次,可能会向一个具有不同参数的处理程序发送多个请求。

问题:

在开发模式(非线程默认瓶子服务器)中,ajax始终返回正确的数据。 使用gevent服务器返回的数据是不同的。

使用了monkey.patch_all(),

一个全局变量中的pymongo连接

bottle.py 0.11.7

pymongo 2.9.2

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试锁定你的功能:

from threading import Lock

lock = Lock()

@get('/something/')
def something():
    with lock:
        # your code
    return your_result