我使用gunicorn和燒瓶的Web服務。我試圖讓我的頭腦運行一個流式路由(不知道這是否是正確的術語)。流動服務器問題與gunicorn和燒瓶和Nginx
我的路線是這樣的:
@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端口。它按預期流式傳輸數據。不過,我應該在原文中提到這一點,我也在運行nginx。並沒有正確設置流。任何人都可以幫忙嗎?
我建議你也發表您的NGINX配置。 – Signus
你玩過http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html嗎? –