gpt4 book ai didi

Python Flask 定时排队脚本

转载 作者:太空宇宙 更新时间:2023-11-03 16:37:21 25 4
gpt4 key购买 nike

我刚刚开始使用 Flask,我正在创建一个 Web 应用程序,它在服务器端执行两项主要操作:访问另一个在线 API(我每秒只能发送这么多请求)并向连接的用户发送页面请求到服务器。

当用户连接到我的 Flask 服务器时,它将向用户的浏览器发送一个页面,然后该页面上的 AJAX 脚本将使用数据填充页面(这样做是为了提高 UI 性能)。这些数据来自另一个API(英雄联盟API),但是我每秒可以进行的调用数量设置了速率限制,所以我必须制作一个排队脚本。

目前,我计划在每次调用后使用 time.sleep() 函数,但我担心这会阻止服务器执行其他任何操作。我仍然希望服务器在 API 调用被延迟时响应页面请求。

为此,我应该使用多处理,还是 Flask 有内置的东西来处理这个问题?或者我应该为此安装一个特定的插件?

谢谢!

最佳答案

我认为推荐的方法是使用异步任务队列/作业,如 celery

使用非常简单,只需要为需要后台运行的功能添加@app.task即可:

from celery import Celery

app = Celery('tasks', broker='amqp://guest@localhost//')

@app.task
def add(x, y):
return x + y

result = add.delay(2, 2)

它具有许多特性和功能,可以为您完成工作。您可以引用文档以获取更多信息。

关于Python Flask 定时排队脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37103640/

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