Python Flask:如果最后一个请求尚未完成,如何忽略新请求

Python Flask:如果最后一个请求尚未完成,如何忽略新请求,python,rest,api,http,flask,Python,Rest,Api,Http,Flask,我正在尝试只用一个调用来构建RESTAPI 有时一个程序返回一个响应需要30秒。但若用户认为服务滞后——他打了一个新电话,我的应用程序返回错误代码为500的响应(内部服务器错误) 现在,如果最后一个请求还没有准备好,我就可以阻止任何新请求。有什么简单的方法吗 我知道有很多像芹菜这样的排队管理器,但我不想让我的应用程序因任何大型依赖项而过载。你可以使用忽略来自该远程地址的新请求。 pip安装烧瓶限制器 检查此快速启动: from flask import Flask from flask_limi

我正在尝试只用一个调用来构建RESTAPI

有时一个程序返回一个响应需要30秒。但若用户认为服务滞后——他打了一个新电话,我的应用程序返回错误代码为500的响应(内部服务器错误)

现在,如果最后一个请求还没有准备好,我就可以阻止任何新请求。有什么简单的方法吗


我知道有很多像芹菜这样的排队管理器,但我不想让我的应用程序因任何大型依赖项而过载。

你可以使用忽略来自该远程地址的新请求。
pip安装烧瓶限制器
检查此快速启动:

from flask import Flask
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address

app = Flask(__name__)
limiter = Limiter(
    app,
    key_func=get_remote_address,
    default_limits=["200 per day", "50 per hour"]
)
@app.route("/slow")
@limiter.limit("1 per day")
def slow():
    return "24"

@app.route("/fast")
def fast():
    return "42"

@app.route("/ping")
@limiter.exempt
def ping():
    return "PONG"
如您所见,您可以在完成正在运行的进程的同时忽略远程IP地址一段时间

文件 检查以下两个链接:


定义“块”。如果用户试图发出新请求,而最后一个请求尚未完成,您希望用户收到什么样的响应?也许用户应该收到一些作业尚未完成的信息。然后等待最后的回应。因为现在新的请求会导致错误,并且因为正确的最后响应不会出现。或者这对前端客户端来说是个问题-他应该检查响应是否是错误?这很好。它有助于阻止新请求。但是如何让它返回对上一个请求的响应呢?来自上一个请求的代码应该在运行时不会被新的请求中断,因为它们是分开运行的,所以旧的请求应该继续返回它的响应。谢谢,这正是我需要的。