gpt4 book ai didi

python - 添加新的处理程序来运行 python Tornado 服务器

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:44 26 4
gpt4 key购买 nike

我是 python tornado 服务器的新手,我正在为我的下一个必须在实时环境中工作的项目评估 python tornado。我已经从 github 运行了一个带有 Web Socket 实现的示例代码。

这是示例代码片段。

    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' 有新要求,则在不阻塞路由 '/' 的 n 个查看者的情况下提供 foo.html。在不重启服务器的情况下,有哪些可能的处理方式(如果有)。

最佳答案

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

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

从它的代码来看,它不会阻塞任何东西。

关于python - 添加新的处理程序来运行 python Tornado 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31802664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com