debian-mirror-gitlab/app/workers/projects/process_sync_events_worker.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
740 B
Ruby
Raw Normal View History

2022-01-26 12:08:38 +05:30
# frozen_string_literal: true
module Projects
# 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
2022-07-23 23:45:48 +05:30
feature_category :pods
2022-01-26 12:08:38 +05:30
urgency :high
idempotent!
deduplicate :until_executing
def perform
2022-04-04 11:22:00 +05:30
results = ::Ci::ProcessSyncEventsService.new(
::Projects::SyncEvent, ::Ci::ProjectMirror
).execute
results.each do |key, value|
log_extra_metadata_on_done(key, value)
end
2022-01-26 12:08:38 +05:30
end
end
end