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

# Concern that sets various Sidekiq settings for workers executed using a
# cronjob.
module CronjobQueue
  extend ActiveSupport::Concern

  included do
    queue_namespace :cronjob
    sidekiq_options retry: false
    worker_context project: nil, namespace: nil, user: nil
  end

  class_methods do
    # Cronjobs never get scheduled with arguments, so this is safe to
    # override
    def context_for_arguments(_args)
      return if Gitlab::ApplicationContext.current_context_include?(:caller_id)

      Gitlab::ApplicationContext.new(caller_id: "Cronjob")
    end
  end
end