gpt4 book ai didi

celery :每个任务的并发限制(每个任务的 worker 数)?

转载 作者:行者123 更新时间:2023-12-03 13:56:32 29 4
gpt4 key购买 nike

是否可以在 Celery 中的每个任务级别上设置并发(同时工作的人数)? ?我正在寻找更细粒度的东西 CELERYD_CONCURRENCY (设置整个守护进程的并发)。

使用场景是:我有一个 celerlyd 运行不同类型的任务,具有非常不同的性能特征 - 有些很快,有些非常慢。对于一些人,我想尽可能快地做尽可能多的事情,对于其他人,我想确保任何时候只有一个实例在运行(即并发 1)。

最佳答案

您可以使用automatic routing将任务路由到不同的队列,这些队列将由具有不同并发级别的 celery worker 处理。

celeryd-multi start fast slow -c:slow 3 -c:fast 5



此命令启动 2 个 celery 工作人员,分别以 3 和 5 个并发级别监听快速和慢速队列。

CELERY_ROUTES = {"tasks.a": {"queue": "slow"}, "tasks.b": {"queue": "fast"}}



tasks.a 类型的任务将分别由慢队列处理,tasks.b 任务将分别由快速队列处理。

关于 celery :每个任务的并发限制(每个任务的 worker 数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167663/

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