【问题标题】:How do I remove a route and its handler from a running tornado application如何从正在运行的龙卷风应用程序中删除路由及其处理程序
【发布时间】:2018-12-06 01:37:26
【问题描述】:

我之所以问这个问题是因为我可以在运行时向龙卷风应用程序添加路由和处理程序,这要感谢这个 SO 问题:Adding new handler to running python tornado server

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

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

【问题讨论】:

    标签: python-3.x tornado


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-12
      • 2022-06-16
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多