summaryrefslogtreecommitdiff
path: root/app/workers/ci/update_locked_unknown_artifacts_worker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/ci/update_locked_unknown_artifacts_worker.rb')
-rw-r--r--app/workers/ci/update_locked_unknown_artifacts_worker.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/workers/ci/update_locked_unknown_artifacts_worker.rb b/app/workers/ci/update_locked_unknown_artifacts_worker.rb
new file mode 100644
index 00000000000..2d37ebb3c93
--- /dev/null
+++ b/app/workers/ci/update_locked_unknown_artifacts_worker.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+module Ci
+ class UpdateLockedUnknownArtifactsWorker # rubocop:disable Scalability/IdempotentWorker
+ include ApplicationWorker
+
+ data_consistency :sticky
+ urgency :throttled
+
+ # rubocop:disable Scalability/CronWorkerContext
+ # This worker does not perform work scoped to a context
+ include CronjobQueue
+ # rubocop:enable Scalability/CronWorkerContext
+
+ feature_category :build_artifacts
+
+ def perform
+ return unless ::Feature.enabled?(:ci_job_artifacts_backlog_work)
+
+ artifact_counts = Ci::JobArtifacts::UpdateUnknownLockedStatusService.new.execute
+
+ log_extra_metadata_on_done(:removed_count, artifact_counts[:removed])
+ log_extra_metadata_on_done(:locked_count, artifact_counts[:locked])
+ end
+ end
+end