diff options
Diffstat (limited to 'app/workers/onboarding/progress_worker.rb')
-rw-r--r-- | app/workers/onboarding/progress_worker.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/workers/onboarding/progress_worker.rb b/app/workers/onboarding/progress_worker.rb new file mode 100644 index 00000000000..525934c4a7c --- /dev/null +++ b/app/workers/onboarding/progress_worker.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module Onboarding + class ProgressWorker + include ApplicationWorker + + data_consistency :always + + sidekiq_options retry: 3 + + feature_category :onboarding + worker_resource_boundary :cpu + urgency :low + + deduplicate :until_executed + idempotent! + + def perform(namespace_id, action) + namespace = Namespace.find_by_id(namespace_id) + return unless namespace && action + + Onboarding::ProgressService.new(namespace).execute(action: action.to_sym) + end + end +end + +# remove in %15.6 as per https://gitlab.com/gitlab-org/gitlab/-/issues/372432 +Namespaces::OnboardingProgressWorker = Onboarding::ProgressWorker |