我是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个观看者.如果没有重新启动服务器,有什么可能的处理方法.
你需要tornado.web.Application
的add_handlers
方法; 像这样用它:
app.add_handlers( r".*", # match any host [ ( r"/foo/([^/]*)", FooHandler ), ( r"/bar/([^/]*)", BarHandler ), ] )
从它的代码来看,它不会阻止任何事情.