Найти - Пользователи
Полная версия: Почему не работает Flask streaming на IIS?
Начало » Python для экспертов » Почему не работает Flask streaming на IIS?
1
Revencu
имею код:
 from flask import Flask, Response
from datetime import datetime
import time
app = Flask(__name__)
@app.route('/')
def first(): return 'ok'
@app.route('/stream')
def default():
    def generate():
        for i in range(0,10):
            yield datetime.now().strftime('%H:%M:%S')
            time.sleep(1)
    return Response(generate(), mimetype='text/event-stream')
if __name__ == '__main__':
	app.run(host='0.0.0.0', debug=True, port=5001)
При запуске в development mode “localhost:5001/stream” получаю 10 ответов через каждую секунду.
То-есть streaming работает
Если делаю deploy на Windows IIS то streaming не работает (получаю весь результат по истечении 10 секунд).
Видно IIS как-то блокирует yield - что-то ещё надо настроить в IIS.
Как решить streaming Flask на Windows production mode?
doza_and
Revencu
Видно IIS как-то блокирует yield
Я не думаю что IIS изучал питон. Думаю про yield он вообще ничего не знает.

https://stackoverflow.com/questions/12177737/how-do-i-configure-iis-7-5-for-sse-server-sent-events-and-signalr

Может это?
Add this in your web.config to fix

<location path=“signalr”>
<system.webServer>
<urlCompression doDynamicCompression=“false”/>
</system.webServer>
</location>






Revencu
Не помогло
Rodegast
> Если делаю deploy на Windows IIS то streaming не работает

Замени IIS на что нибудь более актуальное.
Revencu
Rodegast
> Если делаю deploy на Windows IIS то streaming не работает Замени IIS на что нибудь более актуальное.
А разве для Windows может быть что-то актуальнее чем IIS?
Rodegast
> А разве для Windows может быть что-то актуальнее чем IIS?

Забудь про windows.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB