Add Sidekiq queue variable count to gitlab.rb configuration

Related https://gitlab.com/gitlab-com/demo-systems/issue-tracker/-/issues/44

For use cases with a large number of simultaneous users (ex. training classes and workshops), we need to have a variable to configure the number of Sidekiq queue groups.

The manual workaround below should be converted to Ansible with a variable for sidekiq_queue_group_count that a user can customize based on their CPU count.


Copy this to gitlab.rb and adjust the number of asterisks to the number of CPUs available for processing. For 16-cores, we assume 10. For 32-cores, we assume 20.

# gitlab.rb

## START OF SECTION NOT MANAGED BY ANSIBLE
## https://gitlab.com/gitlab-com/demo-systems/issue-tracker/-/issues/44

################################################################################
## GitLab Sidekiq Cluster (EE only)
################################################################################

##! GitLab Enterprise Edition allows one to start an extra set of Sidekiq processes
##! besides the default one. These processes can be used to consume a dedicated set
##! of queues. This can be used to ensure certain queues always have dedicated
##! workers, no matter the amount of jobs that need to be processed.

sidekiq['max_concurrency'] = 10 # The maximum number of threads each Sidekiq process should run

##! Each entry in the queue_groups array denotes a group of queues that have to be processed by a
##! Sidekiq process. Multiple queues can be processed by the same process by
##! separating them with a comma within the group entry

sidekiq['queue_groups'] = [
  "*",
  "*",
  "*",
  "*",
  "*",
  "*",
  "*",
  "*",
  "*",
  "*",
  "*",
  "*"
]

## END OF SECTION NOT MANAGED BY ANSIBLE