sidekiq 队列的优先级

rhu*_*ugo 3 ruby ruby-on-rails sidekiq

使用 sidekiq 是否有任何配置可以让队列仅在另一个队列为空时才启动?

我有这个配置,我希望优先级为 1 的队列在其他队列完成之前不要启动。我想过如何批量进行,但就应用而言,我认为这没有意义。

:queues:
  - ["tasks", 100]
  - ["products", 80]  
  - ["sellers", 10]
  - ["products", 80]
  - ["seller_types", 1]
Run Code Online (Sandbox Code Playgroud)

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

Ser*_*sev 13

文档中:

如果您希望队列始终按特定顺序处理,只需按顺序声明它们而无需权重:

:queues:
  - critical
  - default
  - low
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,关键作业可能尚未**完成**,但当默认作业启动时,只有批量才能保证作业顺序。 (6认同)