gitlab-org--gitlab-foss/app/workers/namespaces/process_sync_events_worker.rb

23 lines
631 B
Ruby
Raw Normal View History

# frozen_string_literal: true
module Namespaces
# This worker can be called multiple times at the same time but only one of them can
# process events at a time. This is ensured by `try_obtain_lease` in `Ci::ProcessSyncEventsService`.
# `until_executing` here is to reduce redundant worker enqueuing.
class ProcessSyncEventsWorker
include ApplicationWorker
data_consistency :always
feature_category :sharding
urgency :high
idempotent!
deduplicate :until_executing
def perform
::Ci::ProcessSyncEventsService.new(::Namespaces::SyncEvent, ::Ci::NamespaceMirror).execute
end
end
end