我怎么知道Flask应用程序已经准备好处理请求而不需要实际轮询它呢?

2024-09-30 06:33:43 发布

您现在位置:Python中文网/ 问答频道 /正文

在烟雾测试期间,我希望确保烧瓶应用程序正确地处理了一些基本请求。这包括异步启动Flask应用程序:

class TestSmoke(unittest.TestCase):
    @staticmethod
    def run_server():
        app.run(port=49201)

    @classmethod
    def setUpClass(cls):
        cls.flaskProcess = multiprocessing.Process(target=TestSmoke.run_server)
        cls.flaskProcess.start()

然后运行使用requests库执行请求的测试。在

如果代码保持原样,测试通常在服务器实际启动之前运行,结果是ConnectionRefusedError。为了防止这种情况发生,我在setUpClass中添加了以下代码:

^{pr2}$

虽然这很管用,但看起来很难看。假设测试用例控制着烧瓶应用程序,那么一旦应用程序准备好处理请求,就应该有一种方法通知它。不幸的是,我找到的最接近的东西是^{},这没用(除非我再次轮询服务器)。在

在异步运行Flask应用程序时,如何确定它已启动并准备好处理请求?在


Tags: run代码服务器应用程序flaskserver烧瓶def

热门问题