如何为sidekiq配置指定不同的并发队列?

时间:2015-12-14 12:40:38

标签: ruby-on-rails concurrency yaml sidekiq

我有以下sidekiq.yml配置文件,但我不确定如何构建具有较低并发性的单独队列。我怎么能这样做?

    title: {
        text: null
            },
    exporting:{
            chartOptions:{
                title: {
                    text:'Monthly Average Temperature',
                    x: -20
                }
            }
        },

我想做类似以下的事情,

---
:concurrency: 25
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
  - default
  - [high_priority, 2]
  - [import_queue, 3]
  - [user_queue, 4]
:daemon: true

1 个答案:

答案 0 :(得分:3)

Concurrency是Sidekiq进程的一个属性,表示它旋转的线程数。您不能让一个Sidekiq流程以两种不同的并发方式运行;但是,您可以使用单独的配置文件启动两个Sidekiq进程:

bin/sidekiq -C config/sidekiq_one.yml
bin/sidekiq -C config/sidekiq_two.yml

但是,根据您的动机,您可能最好只使用一个Sidekiq流程并按优先级排序您的队列。这样,在一个进程中没有工作人员闲置而另一个进程的队列正在增长。虽然取决于您的情况,例如如果第二个队列的工作很少但非常重要,那么这样的解决方案确实有意义。