この単純なフラスコ/gevent デモ コードがあります。
#!/usr/bin/env python
import gevent
from gevent.pywsgi import WSGIServer
from gevent import monkey
monkey.patch_socket()
from flask import Flask, Response
app = Flask(__name__)
@app.route('/')
def stream():
def gen():
for i in range(10):
yield "data: %d\r\n" % i
gevent.sleep(1)
return Response(gen())
if __name__ == '__main__':
http = WSGIServer(('', 5000), app)
http.serve_forever()
それを実行してブラウザーで複数の URL を開くと、1 つを除くすべてがブロックされます。私は何を間違っていますか?
私はmonkey.patch_all()で実行してみgunicorn streaming:app -k gevent
ましたが、ブラウザでまだブロックしています。