Sidekiq: enable queue negation, akin to sidekiq-cluster
Summary
Omnibus GitLab has the ability to make use of sidekiq-cluster which is included in the Rails codebase under ee/bin/sidekiq-cluster
. This functionality includes the --negate
option, which allows one to start extra Sidekiq processes using the default queue list (sidekiq_queues.yml
) minus the list provided.
These provide the ability to configure the entirety of sidekiq_queues.yml
, on a per Pod basis. While this provides great flexibility, it does not provide the simplicity of negation.
We should provide a simple means of using negation logic
Configuration proposed
gitlab:
sidekiq:
pods:
- name: no-pages
queues:
# consume all default queues, _except_ `pages`
negateQueues:
- pages
Current behavior
Removing a single queue currently requires copying all of sidekiq_queues.yml into a pods: []
entry.
Expected behavior
Disabling single queues is as simple as negateQueues: [ x, y]
Versions
- Chart: a1751ec1
Edited by Jason Plum