stream媒体服务器问题与gunicorn和烧瓶和Nginx

我正在使用gunicorn烧瓶进行networking服务。 我试图让我的头在运行一个stream式路由(不知道这是否是正确的术语)。

我的路线如下所示:

@app.route('/delay') def delay(): from time import sleep def delay_inner(): for i in range(10): sleep(5) yield json.dumps({'delay': i}) return Response(delay_inner(), mimetype="text/event-stream") 

我预计服务器会在每次delay_inner产生收益时产生输出。 但是,我得到的是所有的JSON响应一次,只有当delay_inner完成执行。

我在这里错过了什么?

–EDIT–我已经解决了Flask和Gunicorn的问题,我可以按照预期的方式使用烧瓶服务器运行,然后前往Gunicorn端口。 它按预期stream式传输数据。 不过,我应该在原帖中提到这一点,我也是在后面跑nginx。 这不是正确设置stream。 任何人都可以帮忙吗?

您需要关闭nginx代理缓冲。

 location /delay { proxy_pass http://127.0.0.1:8080; proxy_buffering off; } 

并重新加载配置

 nginx -s reload