gpt4 book ai didi

python - celery 、uvicorn 和 FastAPI

转载 作者:行者123 更新时间:2023-12-01 22:59:41 27 4
gpt4 key购买 nike

我有一个使用 uvicorn 执行的 FastAPI api 代码。现在我想添加一个队列系统,我认为 Celery 和 Flower 对我来说是很好的工具,因为我的 api 有一些端点使用大量 CPU 并且需要几秒钟的时间来回答。但是,我对添加 Celery 有几个问题:

  1. Celery 会替代 Uvicorn 吗?我还需要它吗?我在网站上看不到他们也考虑 uvicorn 的任何例子,当你执行 Celery 时似乎不需要它......
  2. 我阅读了很多有关使用 Celery 为 FastAPI 创建队列的文章。但是,您可以在不使用 Celery 的情况下在 FastAPI 中管理队列。什么更好?为什么?

最佳答案

Does Celery substitute Uvicorn?

没有。 Celery 不能替代 Uvicorn。 Uvicorn 旨在运行您的 FastAPI 应用程序,Celery 不会为您执行此操作。

I have read a lot about using Celery for creating a queu for FastAPI. However, you can manage a queue in FastAPI without using Celery. What's better? and why?

我猜你的意思是 BackgroundTasks在这里,但这不是 celery 的替代品。 FastAPI BackgroundTasks 旨在执行简单任务(而不是 CPU 绑定(bind)相关任务)。

回答这个问题,理想情况下,您必须同时启动两个服务:Uvicorn 和 Celery。您可以查看有关如何操作的示例 here .

这在这里并不重要,但我是 Uvicorn 的维护者之一。

关于python - celery 、uvicorn 和 FastAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72134530/

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