Add concurrency option on sidekiq-cluster CLI

What does this MR do and why?

Part of gitlab-com/gl-infra/scalability#2760 to support the new concurrency option which will replace min_concurrency and max_concurrency

Omnibus MR which sets the default value to null: omnibus-gitlab!7397 (merged)

Docs update MR for deprecating the fields and the additional concurrency option: !143927 (merged)

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

In master

❯ bin/sidekiq-cluster --dryrun --min-concurrency=0 --max-concurrency=30 'a,b,c,d,e,f' 'asd'
bundle exec sidekiq -c9 -edevelopment -t25 -gqueues:a,b,c,d,e,f,default,mailers -r/Users/gregoriusmarco/Documents/workspace/gdk-10-22/gitlab -qa,1 -qb,1 -qc,1 -qd,1 -qe,1 -qf,1 -qdefault,1 -qmailers,1
bundle exec sidekiq -c4 -edevelopment -t25 -gqueues:asd,default,mailers -r/Users/gregoriusmarco/Documents/workspace/gdk-10-22/gitlab -qasd,1 -qdefault,1 -qmailers,1

In this branch

❯ bin/sidekiq-cluster --dryrun --min-concurrency=0 --max-concurrency=30 --concurrency 20 'a,b,c,d,e,f' 'asd'
bundle exec sidekiq -c20 -edevelopment -t25 -gqueues:a,b,c,d,e,f,default,mailers -r/Users/gregoriusmarco/Documents/workspace/gdk-10-22/gitlab -qa,1 -qb,1 -qc,1 -qd,1 -qe,1 -qf,1 -qdefault,1 -qmailers,1
bundle exec sidekiq -c20 -edevelopment -t25 -gqueues:asd,default,mailers -r/Users/gregoriusmarco/Documents/workspace/gdk-10-22/gitlab -qasd,1 -qdefault,1 -qmailers,1

❯ bin/sidekiq-cluster --dryrun --concurrency 20 'a,b,c,d,e,f' 'asd'
bundle exec sidekiq -c20 -edevelopment -t25 -gqueues:a,b,c,d,e,f,default,mailers -r/Users/gregoriusmarco/Documents/workspace/gdk-10-22/gitlab -qa,1 -qb,1 -qc,1 -qd,1 -qe,1 -qf,1 -qdefault,1 -qmailers,1
bundle exec sidekiq -c20 -edevelopment -t25 -gqueues:asd,default,mailers -r/Users/gregoriusmarco/Documents/workspace/gdk-10-22/gitlab -qasd,1 -qdefault,1 -qmailers,1
Edited by Marco Gregorius

Merge request reports

Loading