b3566a0104
This makes things simpler as no scheduling is involved. Further we remove the need for running a SELECT + UPDATE just to get the key and update it, whereas we only need an UPDATE when setting last_used_at directly in a request. The added service class takes care of updating Key#last_used_at without using Sidekiq. Further it makes sure we only try to obtain a Redis lease if we're confident that we actually need to do so, instead of always obtaining it. We also make sure to _only_ update last_used_at instead of also updating updated_at. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36663
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
# This configuration file should be exclusively used to set queue settings for
|
|
# Sidekiq. Any other setting should be specified using the Sidekiq CLI or the
|
|
# Sidekiq Ruby API (see config/initializers/sidekiq.rb).
|
|
---
|
|
# All the queues to process and their weights. Every queue _must_ have a weight
|
|
# defined.
|
|
#
|
|
# The available weights are as follows
|
|
#
|
|
# 1: low priority
|
|
# 2: medium priority
|
|
# 3: high priority
|
|
# 5: _super_ high priority, this should only be used for _very_ important queues
|
|
#
|
|
# As per http://stackoverflow.com/a/21241357/290102 the formula for calculating
|
|
# the likelihood of a job being popped off a queue (given all queues have work
|
|
# to perform) is:
|
|
#
|
|
# chance = (queue weight / total weight of all queues) * 100
|
|
:queues:
|
|
- [post_receive, 5]
|
|
- [merge, 5]
|
|
- [update_merge_requests, 3]
|
|
- [process_commit, 3]
|
|
- [new_note, 2]
|
|
- [new_issue, 2]
|
|
- [new_merge_request, 2]
|
|
- [build, 2]
|
|
- [pipeline, 2]
|
|
- [pipeline_processing, 5]
|
|
- [pipeline_default, 3]
|
|
- [pipeline_cache, 3]
|
|
- [pipeline_hooks, 2]
|
|
- [gitlab_shell, 2]
|
|
- [email_receiver, 2]
|
|
- [emails_on_push, 2]
|
|
- [mailers, 2]
|
|
- [invalid_gpg_signature_update, 2]
|
|
- [create_gpg_signature, 2]
|
|
- [upload_checksum, 1]
|
|
- [repository_fork, 1]
|
|
- [repository_import, 1]
|
|
- [project_service, 1]
|
|
- [delete_user, 1]
|
|
- [delete_merged_branches, 1]
|
|
- [authorized_projects, 1]
|
|
- [expire_build_instance_artifacts, 1]
|
|
- [group_destroy, 1]
|
|
- [irker, 1]
|
|
- [namespaceless_project_destroy, 1]
|
|
- [project_cache, 1]
|
|
- [project_destroy, 1]
|
|
- [project_export, 1]
|
|
- [web_hook, 1]
|
|
- [repository_check, 1]
|
|
- [git_garbage_collect, 1]
|
|
- [reactive_caching, 1]
|
|
- [cronjob, 1]
|
|
- [default, 1]
|
|
- [pages, 1]
|
|
- [system_hook_push, 1]
|
|
- [update_user_activity, 1]
|
|
- [propagate_service_template, 1]
|
|
- [background_migration, 1]
|