刚刚在看tornado的gen模块http://www.tornadoweb.org/documentati...classAsyncHandler(RequestHandler):@asynchronousdefget(self):http_client=AsyncHTTPClient()http_client.fetch("http://example.com",callback=self.on_fetch)defon_fetch(self,response):do_something_with_response(response)self.render("template.html")可以用gen模块优化成classGenAsyncHandler(RequestHandler):@asynchronous@gen.enginedefget(self):http_client=AsyncHTTPClient()response=yieldgen.Task(http_client.fetch,"http://example.com")do_something_with_response(response)self.render("template.html")ok,现在书抄完了,开始提问我使用tornado.httpclient.HTTPClienthttp_client=httpclient.HTTPClient()try:response=http_client.fetch("http://www.google.com/")printresponse.bodyexcepthttpclient.HTTPError,e:print"Error:",e也可以实现同步的代码风格,实际上应该也是异步执行,因为用到了IOLoop我的问题是1.tornado.httpclient.HTTPClient用在生产环境有问题嘛?2.两种写法达到的效果是不是一样的,如果不一样,有什么区别?
DIEA
相关分类