当前位置:  开发笔记 > 编程语言 > 正文

添加新处理程序以运行python tornado服务器

如何解决《添加新处理程序以运行pythontornado服务器》经验,为你挑选了1个好方法。

我是python龙卷风服务器的新手,我正在为我的下一个必须在实时环境中工作的项目评估python tornado.我使用Web Socket实现从github运行示例代码.

这是示例代码段.

    app = web.Application([
       (r'/', IndexHandler),
       (r'/ws', SocketHandler),
       (r'/api', ApiHandler),
       (r'/(favicon.ico)', web.StaticFileHandler, {'path': '../'}),
       (r'/(rest_api_example.png)', web.StaticFileHandler, {'path': './'}),
   ])

   if __name__ == '__main__':
       app.listen(8080)
       ioloop.IOLoop.instance().start()

代码按预期工作正常.

是否有可能提供类似云的解决方案,以便我可以动态地向Web应用程序添加新路由和处理程序,而无需重新启动服务器侦听端口.

例如; 服务器开始运行并为路由'/'提供index.html,它有n个查看器.如果新的要求附带路由'/ foo'将被提供给foo.html而不阻塞路由'/'的n个观看者.如果没有重新启动服务器,有什么可能的处理方法.



1> 小智..:

你需要tornado.web.Applicationadd_handlers方法; 像这样用它:

app.add_handlers(
    r".*",  # match any host
    [
        (
            r"/foo/([^/]*)",
            FooHandler
        ),
        (
            r"/bar/([^/]*)",
            BarHandler
        ),
    ]
)

从它的代码来看,它不会阻止任何事情.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有