swo*_*p81 5 asynchronous worker gunicorn
我正在尝试使用gunicorn及其异步工作者提供长时间运行的请求,但我找不到任何可以开始工作的示例.我在这里使用了这个例子,但在返回响应之前调整了添加假延迟(睡眠5秒):
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])
Run Code Online (Sandbox Code Playgroud)
然后我跑了gunicorn所以:
gunicorn -w 4 myapp:app -k gevent
当我打开两个浏览器选项卡并输入http://127.0.0.1:8000/它们并几乎同时发送请求时,请求似乎按顺序处理- 一个在5秒后返回,另一个在另外 5秒后返回.
问:我猜测睡眠不是友好的吗?但是有4个工人,所以即使工人的类型是"同步",两个工人应该同时处理两个请求?
我刚刚遇到同样的事情,在这里提出了一个问题:要求不要分发给枪支工人.结果是,浏览器似乎序列化对同一页面的访问.我猜也许这有可能具有缓存性,即浏览器认为页面可以缓存,等到它加载发现它不是这样它会发出另一个请求等等.
| 归档时间: |
|
| 查看次数: |
3224 次 |
| 最近记录: |