summaryrefslogtreecommitdiff
path: root/app/workers/ci/runners/process_runner_version_update_worker.rb
blob: f1ad0c8563e193ebc48f12bd5955dcf5d6056716 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

module Ci
  module Runners
    class ProcessRunnerVersionUpdateWorker
      include ApplicationWorker

      data_consistency :always

      feature_category :runner_fleet
      urgency :low

      idempotent!
      deduplicate :until_executing

      def perform(version)
        result = ::Ci::Runners::ProcessRunnerVersionUpdateService.new(version).execute

        result.to_h.slice(:status, :message, :upgrade_status).each do |key, value|
          log_extra_metadata_on_done(key, value)
        end
      end
    end
  end
end