# frozen_string_literal: true class BuildHooksWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker sidekiq_options retry: 3 include PipelineQueue queue_namespace :pipeline_hooks feature_category :continuous_integration urgency :high data_consistency :delayed # rubocop: disable CodeReuse/ActiveRecord def perform(build_id) build = Ci::Build.find_by_id(build_id) build.execute_hooks if build end # rubocop: enable CodeReuse/ActiveRecord def self.perform_async(build) Gitlab::AppLogger.info( message: "Enqueuing hooks for Build #{build.id}: #{build.status}", class: self.name, build_id: build.id, pipeline_id: build.pipeline_id, project_id: build.project_id, build_status: build.status) super(build.id) end end