gpt4 book ai didi

python - 在另一个函数中跟踪一个函数的进度

转载 作者:可可西里 更新时间:2023-11-01 16:36:47 32 4
gpt4 key购买 nike

我有一个运行 Flask 的 Python 后端,它将有一个函数(或几个链接在一起的函数)将运行多个 AJAX 调用并执行一些数据库操作。

这需要一段时间,所以在前端,我希望定期轮询服务器并在取得进展时更新 UI。大纲可能是这样的:

app.route('/update', methods=['GET'])
def getUpdate():
# return a response with the current status of the update

@app.route('/update', methods=['POST'])
def runUpdate():
# asynchronously call update() and return status

def update():
# perform ajax calls
# update database
# query database
# ...

我考虑过 WebSockets,但我不知道对于 UI 中的简单更新来说,这是否会使事情变得有点过于复杂。我知道我也可以使用模块范围的变量或将状态存储在数据库表中,但对我来说,这两种设计都感觉很糟糕。我可以使用简单的模式来实现这一目标吗?

最佳答案

使用数据库存储状态。如果您使用像 redis 这样的东西,您甚至可以使用 pub/sub 和 websockets 实时完成。

模块作用域变量是一个糟糕的选择。它无法扩展。

如果是长时间运行的任务,考虑使用任务队列,比如rqcelery .

关于python - 在另一个函数中跟踪一个函数的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37642414/

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