gpt4 book ai didi

python - Celery 分配队列和工作人员

转载 作者:行者123 更新时间:2023-12-01 08:30:26 26 4
gpt4 key购买 nike

我是 Celery 新手,我正在尝试了解队列是如何工作的。如果我有两个任务,即任务 1 和任务 2,并且我将它们放在不同的队列中,并且在任务 1 上我仅使用一个工作程序,在任务 2 上我使用多个工作程序,那么任务 1 一次只能运行一个任务吗,因为我只有一个工作程序? task2 运行的次数是否与我有 worker 的次数一样多?我的理解正确吗?

最佳答案

你很接近。您可以将任务分发到特定队列,并将工作线程配置为仅监听特定队列,并扩展独立监听每个队列的工作线程数量。一般来说,更多的工作人员意味着可以同时执行更多的任务。

但是,仅将一个工作线程分配给特定队列/任务并不能保证该任务一次只执行一个。
默认情况下,工作人员启用了并发性,这意味着单个工作人员可以利用多个进程同时执行任务。此外,还需要考虑其他工作设置,例如预取和早期确认。

如果您想确保一项任务一次只能执行一个,则不应依赖工作进程(缺乏)可用性。相反,采用文档 ensuring a task is executed one at a time 中描述的锁定机制。将是一种推荐的方法。

关于python - Celery 分配队列和工作人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53927477/

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