从 api [Python] 调用多个长 运行 任务

Multiple long running tasks called from api [Python]

我必须 运行 来自 api 的多项长期 运行ning 任务。我正在使用 python 和 FastAPI ,我不确定什么是最佳实践。在网上搜索后,我想到了 2 个想法,一个是 运行 gunicorn 上的 api 尽可能多的工人。第二种方法是使用 celery 和 rabbitMQ,我目前不确定 celery/rabbitmq 组合如何帮助。

api 可以并行触发许多任务,优先级是尽可能快地完成它们,等待时间越短越好。这些任务通常需要大约 45 分钟才能完成。 我不确定我做的事情是否完全错误并且有更好的 'good practice' 方法来做到这一点 谢谢

一种选择是使用 FastAPI 后台任务https://fastapi.tiangolo.com/tutorial/background-tasks/

你也可以使用 Celery 模块,它有很多有用的功能。 Here你有一个教程来设置它。 Asynchronous Tasks with FastAPI and Celery