У меня этот довольно простой код, взятый из примера.Почему торнадо в python блокирует мои запросы
#!/usr/bin/python
import tornado.ioloop
import tornado.web
import tornado.gen
import time
class MainHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
@tornado.gen.engine
def get(self):
for i in range(1,10):
self.write("%d<br>" % i)
self.flush()
yield tornado.gen.Task(tornado.ioloop.IOLoop.instance().add_timeout, time.time() + 1)
self.finish()
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
Это не ведет себя так, как я ожидаю. Если я открою окно браузера и назову его на localhost: 8888 /, он покажет 1 [пауза 1 сек] 2 [пауза 1 сек] и т. Д. Если я открою вторую вкладку, сделав тот же запрос, она будет блокироваться до первого запрос завершен. Что мне не хватает?
Вы пытались открыть два браузера вместо двух вкладок? Возможно, браузер использует одно и то же соединение для одного и того же URL-адреса. – Germano