15 lines
2.6 KiB
YAML
15 lines
2.6 KiB
YAML
|
- title: "Queue selector for running Sidekiq is deprecated" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters."
|
||
|
announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated.
|
||
|
removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
|
||
|
end_of_support_milestone: "16.0"
|
||
|
breaking_change: true # (required) Change to false if this is not a breaking change.
|
||
|
reporter: marcogreg # (required) GitLab username of the person reporting the change
|
||
|
stage: scalability # (required) String value of the stage that the feature was created in. e.g., Growth
|
||
|
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390787 # (required) Link to the deprecation issue in GitLab
|
||
|
body: | # (required) Do not modify this line, instead modify the lines below.
|
||
|
Running Sidekiq with a [queue selector](https://docs.gitlab.com/ee/administration/sidekiq/processing_specific_job_classes.html#queue-selectors) (having multiple processes listening to a set of queues) and [negate settings](https://docs.gitlab.com/ee/administration/sidekiq/processing_specific_job_classes.html#negate-settings) is deprecated and will be fully removed in 17.0.
|
||
|
|
||
|
You can migrate away from queue selectors to [listening to all queues in all processes](https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html#start-multiple-processes). For example, if Sidekiq is currently running with 4 processes (denoted by 4 elements in `sidekiq['queue_groups']` in `/etc/gitlab/gitlab.rb`) with queue selector (`sidekiq['queue_selector'] = true`), you can change Sidekiq to listen to all queues in all 4 processes,for example `sidekiq['queue_groups'] = ['*'] * 4`. This approach is also recommended in our [Reference Architecture](https://docs.gitlab.com/ee/administration/reference_architectures/5k_users.html#configure-sidekiq). Note that Sidekiq can effectively run as many processes as the number of CPUs in the machine.
|
||
|
|
||
|
While the above approach is recommended for most instances, Sidekiq can also be run using [routing rules](https://docs.gitlab.com/ee/administration/sidekiq/processing_specific_job_classes.html#routing-rules) which is also being used on GitLab.com. You can follow the [migration guide from queue selectors to routing rules](https://docs.gitlab.com/ee/administration/sidekiq/processing_specific_job_classes.html#migrating-from-queue-selectors-to-routing-rules). You need to take care with the migration to avoid losing jobs entirely.
|