Search code examples
ruby-on-railsrubyruby-on-rails-3sidekiq

Sidekiq spawns more workers than it set in config


I have a strange situation with sidekiq. My config file is:

---
development:
  :concurrency: 10
staging:
  :concurrency: 10
production:
  :concurrency: 35

:queues:
  - [default, 3]
  - [very_low, 1]

I am working in staging environment atm. In my processes I see:

 % ps ax | grep sidekiq
 2784 ?        S      0:00 runsv sidekiq
 6206 ?        Sl     3:42 sidekiq 2.17.8 application [10 of 10 busy]

So it uses 10 workers as it set in config... or not? In my admin-side I see this:

enter image description here

My DatafeedUnzipWorker calls DatafeedImagesCreatorWorker, could it be related? Why it shows 30+ workers spawned in back-end?


Solution

  • For those, who experiencing the same issue, the sidekiq owner replied following:

    The data gets out of sync if your Sidekiq process crashes or if Redis has networking problems.

    The Busy count and Workers tab is notoriously unreliable in 2.x. That's why a heartbeat was added in 3.x. The answer is to upgrade to 3.x.