diff options
Diffstat (limited to 'config/initializers/sidekiq.rb')
-rw-r--r-- | config/initializers/sidekiq.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 25984c45318..29df6da6ef1 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -8,13 +8,13 @@ end def enable_reliable_fetch? return true unless Feature::FlipperFeature.table_exists? - Feature.enabled?(:gitlab_sidekiq_reliable_fetcher, type: :ops, default_enabled: true) + Feature.enabled?(:gitlab_sidekiq_reliable_fetcher, type: :ops) end def enable_semi_reliable_fetch_mode? return true unless Feature::FlipperFeature.table_exists? - Feature.enabled?(:gitlab_sidekiq_enable_semi_reliable_fetcher, type: :ops, default_enabled: true) + Feature.enabled?(:gitlab_sidekiq_enable_semi_reliable_fetcher, type: :ops) end # Custom Queues configuration @@ -56,13 +56,24 @@ Sidekiq.configure_server do |config| config.on :startup do # Clear any connections that might have been obtained before starting # Sidekiq (e.g. in an initializer). - ActiveRecord::Base.clear_all_connections! + ActiveRecord::Base.clear_all_connections! # rubocop:disable Database/MultipleDatabases # Start monitor to track running jobs. By default, cancel job is not enabled # To cancel job, it requires `SIDEKIQ_MONITOR_WORKER=1` to enable notification channel Gitlab::SidekiqDaemon::Monitor.instance.start Gitlab::SidekiqDaemon::MemoryKiller.instance.start if enable_sidekiq_memory_killer && use_sidekiq_daemon_memory_killer + + first_sidekiq_worker = !ENV['SIDEKIQ_WORKER_ID'] || ENV['SIDEKIQ_WORKER_ID'] == '0' + health_checks = Settings.monitoring.sidekiq_health_checks + + # Start health-check in-process server + if first_sidekiq_worker && health_checks.enabled + Gitlab::HealthChecks::Server.instance( + address: health_checks.address, + port: health_checks.port + ).start + end end if enable_reliable_fetch? |