Reading this page http://flask.pocoo.org/docs/patterns/streaming/ it seems like I might be able to do what I want, I have a simple url route that sends the output to json but I rather is stream the output:
@app.route('/')
def aws_api_route_puppet_apply(ip=None):
output = somemethod(var1,var2,var3)
return Response(json.dumps(output), mimetype='application/json')
Is there a way to stream the somemethod to the browser using just flask and HTML or do I need to use javascript?
Just like the documentation says, simply create a generator and yield each line you want to return to the client.
If output is 10 lines long, then the following will print each of the ten lines (as they're available) to the client:
@app.route('/')
def aws_api_route_puppet_apply(ip=None):
def generate():
for row in somemethod(var1,var2,var3):
yield row + '\n'
return Response(generate(), mimetype='application/json')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With