在单独的浏览器Windows上使用Gevent阻止请求的Flask

时间:2016-07-06 22:13:41

标签: python flask gevent

在下面的代码片段中,我运行了一个使用Flask的简单Web服务器。似乎所有请求都等待先前的请求在处理之前完成。

为了测试,我将Chrome中的两个窗口指向localhost:5000。第二个请求完全完成第一个请求。

当我在“隐身”中打开其中一个窗口时,不会发生这种情况。或同时运行两个curl命令时。

如果有人知道为什么两个单独的窗口被视为同一个连接(以及为什么隐姓埋名的窗口会被单独处理),我们将非常感激。

这是我的代码:

from gevent import monkey; monkey.patch_all()
monkey.patch_time()

from gevent.pywsgi import WSGIServer


from flask import Flask, Response, jsonify
import json
import time

app = Flask(__name__)

def toJson(obj):
    return json.dumps(obj, indent=None, separators=(',', ':'))

@app.route("/")
def hello():
    print 'Received Request'
    time.sleep(5)
    return Response(toJson({'hello': 'world'}), mimetype='application/json')

print 'Starting Server'
http = WSGIServer(('', 5000), app)
http.serve_forever()

0 个答案:

没有答案