Есть сложный обработчик записей, иногда это может занять много времени (в зависимости от входных значений), иногда нет.
Что я хочу, это писать обратно при каждой 1 секунде, динамически выделяя ответ.
def post():
def callback():
self.write('too-late')
self.finish()
timeout_obj = IOLoop.current().add_timeout(
dt.timedelta(seconds=1),
callback,
)
# some asynchronous operations
if not self.request.connection.stream.closed():
self.write('here is your response')
self.finish()
IOLoop.current().remove_timeout(timeout_obj)
Оказывается, я ничего не могу сделать изнутри callback
.
Даже создание исключения подавляется внутренним контекстом и не будет пропущено через post
метод.
Есть ли другие способы достижения цели?
Спасибо.