Приостановить работу веб-сервера Flask при выполнении текущего запроса - PullRequest
1 голос
/ 21 октября 2019

Я использую веб-сервер Flask, запросы которого можно запускать, нажимая кнопки в 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()

Что происходит, если вызайдите на этот сайт один раз через Chrome на Android, по умолчанию связь будет проходить через прокси-сервер Google, и по правилу index.html будет доступен дважды в течение нескольких секунд. Поскольку первый запрос не будет завершен, второй запрос может привести к катастрофическим последствиям.

Можно ли приостановить работу веб-сервера Flask, пока текущий запрос не завершен? Как бы вы решили проблему с прокси-сервером Google самостоятельно?

Решит ли эта проблема асинхронный веб-каркас, такой как FastAPI?

...