我正在尝试使用gunicorn及其异步工作者的长时间运行请求,但是我找不到任何可以工作的示例。我使用的例子here但扭捏返回响应之前增加一个假的延迟(睡眠5秒):gunicorn不同时处理同时发生的请求
def app(environ, start_response):
data = "Hello, World!\n"
start_response("200 OK", [
("Content-Type", "text/plain"),
("Content-Length", str(len(data)))
])
time.sleep(5)
return iter([data])
然后我跑gunicorn这样:
gunicorn -w 4 myapp:app -k gevent
当我打开两个浏览器并在其中输入http://127.0.0.1:8000/
,并几乎同时发送请求,这些请求似乎按顺序处理 - 一个在5秒后返回,另一个在后返回 5秒。
问:我猜睡眠不是友好的吗?但是有4名工人,所以即使工人的类型是“同步”,两名工人也应该同时处理两个请求。
您是否找到解决方案? – 2013-09-24 10:47:58
对不起,我没有。 – swoop81 2013-09-24 15:53:22