Search code examples
rubycapistranosidekiq

Sidekiq & Capistrano with mutiple workers on single queues


We've got sidekiq working on our app and it's working great however locally I have 4 sidekiq workers each set to a single queue using

sidekiq -r config.rb -c 20 -q websites

I have four queues so I start in terminal

sidekiq -r config.rb -c 20 -q websites
sidekiq -r config.rb -c 20 -q cafes
sidekiq -r config.rb -c 20 -q gyms
sidekiq -r config.rb -c 20 -q telephones

I've looked through the sidekiq documentation but I can't find the answer, I've added

set :sidekiq_processes, 4

which gives us four processes

and we've added priority to the queues as a short term solution.

I'd run the queues on the server manually but I don't want to lose the capistrano integration with starting and stopping with deployment


Solution

  • I don't think it's possible to do that with the built-in cap recipe. You can process multiple queues and you can have multiple processes but you can't customize queues per process.