gpt4 book ai didi

celery - 在 celery 的多个队列中优先队列?

转载 作者:行者123 更新时间:2023-12-01 09:27:56 25 4
gpt4 key购买 nike

我们将 celery 用于异步后台任务,并且有 2 个队列用于不同优先级的任务。我们有 2 个节点集群分别为它们服务。事情按预期运行良好。

问题:

我们得到的主要是低优先级的任务。为了优化资源利用率,我想知道有没有办法配置工作人员(监听高优先级队列)来监听两个队列。但是只要有工作就从更高优先级的队列中获取工作?否则回退到低优先级队列。

我已经讨论过基于优先级的任务调度@ Celery Task Priority .

但我的问题是优先队列而不仅仅是队列中的任务。

最佳答案

您可以通过在启动时为 worker 定义多个队列来部分实现这一点。

您可以使用以下命令执行此操作:另外,请参阅 here更多细节。

celery -A proj worker -l info -Q Q1,Q2

虽然这种方法有问题。它不使用后备方法来做到这一点。
因为,监听多个队列的工作人员在它们之间平均分配资源。

因此,即使在“正常优先级队列”中存在某些内容时,也无法实现仅从“高优先级队列”进行处理的要求。
这可以通过为“高优先级队列”分配更多的 worker (可能是 75%)和为“普通优先级队列”分配 25% 来最小化。或根据您的工作量不同的份额。

关于celery - 在 celery 的多个队列中优先队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46204888/

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