diff options
author | Patricio Cano <suprnova32@gmail.com> | 2016-11-04 16:54:24 -0600 |
---|---|---|
committer | Patricio Cano <suprnova32@gmail.com> | 2016-11-10 11:38:11 -0600 |
commit | b95216aabadb336e4ed8cdc01f69e873f47f10d0 (patch) | |
tree | c139f0dc542e178a83a70e2c49ef187099a1606c /config | |
parent | 9e2964c15a7d387e46e25c83afa478c12a856d77 (diff) | |
download | gitlab-ce-b95216aabadb336e4ed8cdc01f69e873f47f10d0.tar.gz |
Allow the Sidekiq queues to throttle and the factor by which to throttle them to be configurable
Diffstat (limited to 'config')
-rw-r--r-- | config/initializers/sidekiq.rb | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 6e660a8c026..7cc5e396f98 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -1,6 +1,3 @@ -require 'gitlab/current_settings' -include Gitlab::CurrentSettings - # Custom Redis configuration redis_config_hash = Gitlab::Redis.params redis_config_hash[:namespace] = Gitlab::Redis::SIDEKIQ_NAMESPACE @@ -32,16 +29,11 @@ Sidekiq.configure_server do |config| end Sidekiq::Cron::Job.load_from_hash! cron_jobs - # allow it to fail: it may do so when create_from_defaults is executed before migrations are actually done - begin - throttling_enabled = current_application_settings.sidekiq_throttling_enabled - rescue - throttling_enabled = false - end + if Gitlab::CurrentSettings.sidekiq_throttling_enabled? + factor = current_application_settings.sidekiq_throttling_factor - if throttling_enabled - { 'project_cache' => 0.1, 'pipeline' => 0.1 }.each do |queue, ratio| - Sidekiq::Queue[queue].limit = (ratio * Sidekiq.options[:concurrency]).ceil + current_application_settings.sidekiq_throttling_queues.each do |queue| + Sidekiq::Queue[queue].limit = (factor * Sidekiq.options[:concurrency]).ceil end end |