我在bottle.py上有一个单页网络应用程序,gevent作为服务器(在Heroku中托管)。
页面发送ajax请求,服务器从MongoDB获取数据(map-reduce)并返回json。 有一次,可能会向一个具有不同参数的处理程序发送多个请求。
问题:
在开发模式(非线程默认瓶子服务器)中,ajax始终返回正确的数据。 使用gevent服务器返回的数据是不同的。
使用了monkey.patch_all(),
一个全局变量中的pymongo连接
bottle.py 0.11.7
pymongo 2.9.2
谢谢!
答案 0 :(得分:1)
尝试锁定你的功能:
from threading import Lock
lock = Lock()
@get('/something/')
def something():
with lock:
# your code
return your_result