gpt4 book ai didi

python-2.7 - Python Flask 立即响应

转载 作者:行者123 更新时间:2023-12-03 08:23:38 34 4
gpt4 key购买 nike

我在 python 中有一个应用程序需要很长时间来计算。我需要为它创建 REST 端点。我使用 Flask 创建它。但我需要服务器立即响应请求已被接受。怎么做?

最佳答案

假设您不希望在请求的响应正文中包含大量计算的结果。您仍然可以在 View 中生成一个线程并返回 http 代码 202/Accepted,它表示“请求已被接受进行处理,但处理尚未完成”。 RFC-2616

哪个应该给出以下代码

import httplib
from threading import Thread

from flask import Flask, Response

from mymodule import heavy_lift

app = Flask(__name__)

@app.route("/async")
def async_start():
Thread(target=heavy_lift).start()
return Response(status=httplib.ACCEPTED)

if __name__ == "__main__":
app.run()

如果你想用 Flask 执行繁重的异步任务,我建议使用分布式任务队列,例如 Celery这对 Flask 非常友好(参见 Flask documentation)

关于python-2.7 - Python Flask 立即响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31110504/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com