起因:
今年春节后发现有个tornado web的东西,app server+web framework的集合体,正好工作
中有个项目需要其中的异步远程调用的特性,遂研究之,用到现在感触良多,其性能尚可,
但是作为Web Framework看来其封装方式我并不喜欢,窃以为不够紧凑,需要设置的地方不
够清晰,很多功能的使用稍显繁琐。并且在新创建一个app的时候如果不参看已有的app做为
参考,重头写起来很困难。
举个例子 :
1
2 import tornado.httpserver
3 import tornado.ioloop
4 import tornado.options
5 import tornado.web
6
7 from tornado.options import define, options
8
9 define("port", default=8888, help="run on the given port", type=int)
10
11 class MainHandler(tornado.web.RequestHandler):
12 def get(self):
13 self.write("Hello, world")
14
15 def main():
16 tornado.options.parse_command_line()
17 application = tornado.web.Application([
18 (r"/", MainHandler),
19 ])
20 http_server = tornado.httpserver.HTTPServer(application)
21 http_server.listen(options.port)
22 tornado.ioloop.IOLoop.instance().start()
23
24 if __name__ == "__main__":
25 main()
26
2 import tornado.httpserver
3 import tornado.ioloop
4 import tornado.options
5 import tornado.web
6
7 from tornado.options import define, options
8
9 define("port", default=8888, help="run on the given port", type=int)
10
11 class MainHandler(tornado.web.RequestHandler):
12 def get(self):
13 self.write("Hello, world")
14
15 def main():
16 tornado.options.parse_command_line()
17 application = tornado.web.Application([
18 (r"/", MainHandler),
19 ])
20 http_server = tornado.httpserver.HTTPServer(application)
21 http_server.listen(options.port)
22 tornado.ioloop.IOLoop.instance().start()
23
24 if __name__ == "__main__":
25 main()
26