首页 > 解决方案 > 在执行正在进行的请求时暂停 Flask Web 服务器

问题描述

我正在运行 Flask Web 服务器,可以通过按下按钮来触发请求index.html

<a href="/pow/off"><img src="../static/off_button.gif"></a>
<a href="/pow/on"><img src="../static/on_button.gif"></a>

这会触发一些路线,例如

@app.route("/<action>/<status>")
def actionstatus(action, status):

    if action == 'pow':
        if status == "on":
            on_command()
        if status == "off":
            off_command()

发生的情况是,如果您通过 Android 上的 Chrome 访问该站点一次,则默认情况下,通信将通过 Google 代理服务器,根据经验,index.html将在几秒钟内访问两次。由于第一个请求不会最终确定,第二个请求可能会导致灾难性的后果。

正在进行的请求未完成时是否可以暂停 Flask Web 服务器的工作?您将如何自己解决 Google 代理问题?

使用诸如 FastAPI 之类的异步 Web 框架会解决这个问题吗?

标签: pythonmultithreadingflaskweb-frameworksfastapi

解决方案


推荐阅读