У меня есть маршрут, который выполняет некоторые вычисления, для завершения которых может потребоваться некоторое время. Я пытаюсь отправить пользователю несколько заметок о ходе выполнения этого расчета, прежде чем маршрут вернет шаблон с результатами.
По сути, я использую gevent, чтобы выдать строку текста в iframe, когда вычисление достигло определенной фазы. В конце я хотел бы передать шаблон Bottle в iframe, но в то же время удалить все строки, которые были отправлены до последнего выхода.
У кого-нибудь есть идеи, как сделать это правильно? Я попытался сделать это, выдав короткий javascript document.body.innerHTML=""
непосредственно перед выдачей шаблона, но это не работает.
from gevent import monkey; monkey.patch_all()
from time import sleep
from bottle import route, run
@route('/stream')
def stream():
yield 'START'
sleep(3) # some calculation goes here
yield template("send_results")
run(host='0.0.0.0', port=8080, server='gevent')