Sidekiq队列重量限制

时间:2014-01-20 17:27:44

标签: ruby sidekiq

队列重量是否有限制?它在文档中不是很清楚。

根据我的理解,often队列的检查次数比default队列多2倍,比seldom队列多4倍?如果我要添加权重为100的队列怎么办?

:queues:
 - [often, 7]
 - [default, 5]
 - [seldom, 3]

1 个答案:

答案 0 :(得分:10)

根据您的建议,队列权重不会跟随y = 2x。权重仅表示下一个作业将从该队列中拉出的机会。以下面的例子为例:

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

在此,下一份工作有57%的机会来自double,有机会来自single,有机会来自half。如果您为此设置添加了权重为100的队列,则会产生偏差,使得下一个作业的82%来自新的100个权重队列,10%来自double,5%来自{{ 1}},约占single的2.5%。

值得注意的是,控制作业实际运行或执行的频率,但检查了哪个队列。例如,配置一个“紧急”队列,其中包含需要以高队列权重尽快运行的不常见作业,这意味着您的工作人员相对于工作进行的轮询比使用默认配置进行更多轮询。

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