如何检查Tornado中的应用是否会收听某个网址? 我需要听取很多网址,对于新游戏我创建新的并为该网址添加编程处理程序,但我首先需要检查。如何检查Tornado是否已经收听了网址?
答案 0 :(得分:1)
我相信您需要对活动游戏进行细粒度访问,因此最好将它们保存在您的域模型中。
但是,您仍然可以检查应用的tornado.web.Application.handlers
。
答案 1 :(得分:1)
没有公共接口可以确定路径当前是否在Tornado应用程序中映射。一般情况下,你不应该在启动后调用add_handlers - 而是添加一个通配符规则(如(r'/game/(.*)', GameHandler)
),然后在GameHandler
中你可以检查所请求的游戏是否存在(和如果没有,raise HTTPError(404)
)。
答案 2 :(得分:1)
迟到总比没有好;如果我正确理解您的问题,您可以通过对服务器的实际请求来实现您的目标。以下是requests
库的示例:
response = requests.get("http://localhost:8888")
error_msg = "Server Responses with {}".format(response)
self.assertTrue(response.ok, error_msg)