Sidekiq队列的权重限制

5

队列权重是否有限制?文档并没有很清楚地说明。

据我所知,often队列的检查次数比default队列多2倍,比seldom队列多4倍?如果我添加一个权重为100的队列会怎么样?

:queues:
 - [often, 7]
 - [default, 5]
 - [seldom, 3]
1个回答

15

队列权重并不像你所说的那样遵循 y = 2x。该权重只表示下一个作业将从该队列中被拉出的几率。例如:

:queues:
 - [double, 12]
 - [single, 6]
 - [half, 3]

在这个设置中,下一个作业有57%的机会来自于double,29%的机会来自于single,14%的机会来自于half。如果在这个设置中添加一个权重为100的队列,那么会偏向于从新加入的100权重队列获取下一个作业,概率为82%,10%来自double,5%来自single,大约2.5%来自half

值得注意的是,这并不控制作业实际运行或执行的频率,而是控制检查哪个队列。例如,将一个包含需要尽快运行但不频繁的作业的“紧急”队列配置为高队列权重,将导致相对于工作,您的工作人员进行更多轮询。

如果您遇到这样一种情况:不希望低优先级的长时间运行的作业干扰高优先级的快速作业,则应该考虑为每个作业运行专用实例,而不是尝试调整队列权重。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接