Задать вопрос

Как работает tornado.web.RequestHandler.flush?

Сервер выглядит так:

from tornado import ioloop, web, gen


class MainHandler(web.RequestHandler):
    @gen.coroutine
    def get(self):
        self.write('1' * 1024)
        self.flush(callback=(yield gen.Callback('flush')))
        yield gen.Wait('flush')
        print 'First chunk sent'


        self.write('2' * 1024)
        self.flush(callback=(yield gen.Callback('flush')))
        yield gen.Wait('flush')
        print 'Second chunk sent'
        self.finish()


application = web.Application([
    (r"/", MainHandler),
])


if __name__ == "__main__":
    application.listen(8000)
    ioloop.IOLoop.instance().start()


Клиент так:
import urllib2
urllib2.urlopen('http://127.0.0.1:8000/').close()


После запроса в консоли сервера вижу:
First chunk sent
Second chunk sent


А хотелось бы вообще не увидеть там ничего. В чём я не прав?

UP: @rSedoy растолковал ситуацию, подробности в каментах
  • Вопрос задан
  • 3023 просмотра
Подписаться 3 Оценить 7 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы