首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以在芹菜中为每个队列分别设置"worker_prefetch_multiplier“吗?

可以在芹菜中为每个队列分别设置"worker_prefetch_multiplier“吗?
EN

Stack Overflow用户
提问于 2021-03-08 08:33:58
回答 1查看 1.2K关注 0票数 3

我想知道是否可以为队列设置不同的预取乘法器。

我有两个队列,一个有非常短的运行任务,另一个稍微长一些。较短任务的队列需要优先于其他任务。

为了确保排序工作可靠,必须在芹菜配置中设置:

代码语言:javascript
运行
复制
task_acks_late = True
worker_prefetch_multiplier = 1

然而,这确实损害了快速任务队列的性能。如果工作人员从快速任务队列中获取,那么worker_prefetch_multiplier是4,如果工人是从慢任务队列中获取的,那么是否可以进行配置?worker_prefetch_multiplier是1吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-08 08:57:27

我不确定是否可以自芹菜文件似乎为每个工人设定了这些限制。以来为每个队列定义不同的预取限制。

但是,我们通过为每个队列启动一个不同的工作人员来解决这个问题。您可以为每个员工定义不同的预取限制--如果一个工作人员只使用一个队列,那么您还可以定义不同的预取限制以及每个队列的工作者并发。这也有一个额外的好处,即长期运行的任务不会阻止短期运行任务的工作人员处理时间。如果您有意使用芹菜批来进一步加快短期运行任务的处理速度,那么将队列分离到不同的工作人员就变得更加重要了,因为您希望为该工作人员定义相当高的预取限制(注意:如果预取限制为0,并且队列非常满,那么最终内存将耗尽)。

在我们的例子中,我们是在一个连成一体的环境中运行我们的员工。这使我们甚至能够为每个工作人员/队列定义独立的资源分配(内存/ cpu)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66526540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档