Sidekiq队列的优先级

3

在 sidekiq 中,是否有一种配置方式可以使队列只有在另一个队列为空时才开始运行?

我有这样一种配置,并且希望具有优先级1的队列在其他队列完成之前不要被启动。我考虑过使用批处理来实现,但是由于应用程序的情况,我认为这并没有意义。

:queues:
  - ["tasks", 100]
  - ["products", 80]  
  - ["sellers", 10]
  - ["products", 80]
  - ["seller_types", 1]

队列中的优先级问题是可以改进的...

1个回答

13

根据文档

如果您希望队列始终按特定顺序处理,请按顺序声明它们,而不使用权重:

:queues:
  - critical
  - default
  - low

这意味着默认队列中的任何作业都只会在关键队列为空时才被处理。


6
请注意,在默认作业开始时,关键作业可能尚未完成,只有批处理可以保证作业的顺序。 - Mike Perham

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