diff --git a/ee/app/workers/ai/active_context/bulk_process_worker.rb b/ee/app/workers/ai/active_context/bulk_process_worker.rb index 52bc8ed0667b105342587c7f53bc4692041d068c..fa6e80ae541a233b8c69d175bf0493e6a6582a0d 100644 --- a/ee/app/workers/ai/active_context/bulk_process_worker.rb +++ b/ee/app/workers/ai/active_context/bulk_process_worker.rb @@ -21,6 +21,7 @@ class BulkProcessWorker urgency :low data_consistency :sticky loggable_arguments 0, 1 + pause_control :active_context end end end diff --git a/lib/gitlab/sidekiq_middleware/pause_control.rb b/lib/gitlab/sidekiq_middleware/pause_control.rb index 510a43eb41df5522f6bdd456f2b0d3eeb3cbbc45..aed1c9a28f25fb8fa25d997740887c749597e4e2 100644 --- a/lib/gitlab/sidekiq_middleware/pause_control.rb +++ b/lib/gitlab/sidekiq_middleware/pause_control.rb @@ -12,6 +12,7 @@ module PauseControl zoekt: ::Gitlab::SidekiqMiddleware::PauseControl::Strategies::Zoekt, none: ::Gitlab::SidekiqMiddleware::PauseControl::Strategies::None, advanced_search: ::Gitlab::SidekiqMiddleware::PauseControl::Strategies::AdvancedSearch, + active_context: ::Gitlab::SidekiqMiddleware::PauseControl::Strategies::ActiveContext, deprecated: ::Gitlab::SidekiqMiddleware::PauseControl::Strategies::Deprecated }.freeze diff --git a/lib/gitlab/sidekiq_middleware/pause_control/strategies/active_context.rb b/lib/gitlab/sidekiq_middleware/pause_control/strategies/active_context.rb new file mode 100644 index 0000000000000000000000000000000000000000..4b8073bf3f38625af6ea6dd63f2705ce2e3f23e6 --- /dev/null +++ b/lib/gitlab/sidekiq_middleware/pause_control/strategies/active_context.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Gitlab + module SidekiqMiddleware + module PauseControl + module Strategies + class ActiveContext < Base + def should_pause? + return false unless ::ActiveContext.indexing? + + return false if ::ActiveContext.adapter.name == 'postgresql' + + return Gitlab::CurrentSettings.elasticsearch_pause_indexing if use_advanced_search_config? + + # TODO: introduce an ActiveContext-specific setting here + false + end + + def use_advanced_search_config? + ::ActiveContext.adapter.connection.options[:use_advanced_search_config] + end + end + end + end + end +end