首页 > 解决方案 > 如何从正在运行的龙卷风应用程序中删除路线及其处理程序

问题描述

我之所以问这个问题是因为我可以在运行时向龙卷风应用程序添加路由和处理程序,这要归功于这个 SO 问题:添加新处理程序以运行 python 龙卷风服务器

我没有看到remove_handler在龙卷风运行时删除现有路线的功能或其他方式。我猜这根本不是龙卷风团队认为值得追求的用例,我可以围绕我的问题进行编程。但是,我没有看到 SO 问题或文档,而且我无法撤销对我的 Web 服务器的修改似乎很奇怪。任何信息或见解将不胜感激。

如果重要的话,我正在使用 tornado 4.5、python 3.4。

标签: python-3.xtornado

解决方案


如果您查看 的源代码add_handlers,您会发现它将给定的模式和处理程序插入到名为 的列表中Application.default_router.rules。这基本上是一个包含 routing 的列表Rules

虽然我不知道为什么 Tornado 开发人员没有提供任何 API 来删除处理程序,但我相信您可以编写一些代码来循环遍历内部的所有规则Application.default_router.rules并删除任何您想要的。


推荐阅读