zoukankan      html  css  js  c++  java
  • tornado autoreload模块

    自动加载主要用于开发和测试阶段,要不每次修改,都重启tornado服务,太囧。

    tornado源码有autoreload模块。参考:autoreload.py

    可以看到一个私有方法:_reload_on_update,其实只要引入这个模块,调用它即可。示例如下:

    import tornado.autoreload
    def main():
        server = tornado.httpserver.HTTPServer(application)
        server.listen(8888)
        instance = tornado.ioloop.IOLoop.instance()
        tornado.autoreload.start(instance)
        instance.start()

    这样还是很麻烦,或者通过option参数来选择是否autoreload。偶然查看其 web.py 1000多行有这么一句:

            # Automatically reload modified modules
            if self.settings.get("debug") and not wsgi:
                import autoreload
                autoreload.start()

    这个是读取Application里settings是否有debug变量,有则调用autoreload。简化后代码如下:

     settings = {'debug' : True}
    
     application = tornado.web.Application([
         (r"/", MainHandler),
         ], **settings)
    
    def main():
        server = tornado.httpserver.HTTPServer(application)
        server.listen(8888)
        tornado.ioloop.IOLoop.instance().start()

    from:http://ddbean.wordpress.com/2011/02/19/tornado-%e8%87%aa%e5%8a%a8%e5%8a%a0%e8%bd%bd%ef%bc%88autoreload%ef%bc%89/

  • 相关阅读:
    5月16日 AJAX
    5月13日 Jquery基础
    5月13日 PDO封装
    会话控制练习
    文件上传
    会话控制
    注册审核
    练习
    三级联动
    AJAX之XML
  • 原文地址:https://www.cnblogs.com/dkblog/p/2099255.html
Copyright © 2011-2022 走看看