debian-mirror-gitlab/app/workers/project_destroy_worker.rb
2023-05-27 22:25:52 +05:30

24 lines
605 B
Ruby

# frozen_string_literal: true
class ProjectDestroyWorker
include ApplicationWorker
data_consistency :always
sidekiq_options retry: 3
include ExceptionBacktrace
feature_category :source_code_management
idempotent!
deduplicate :until_executed, ttl: 2.hours
def perform(project_id, user_id, params)
project = Project.find(project_id)
user = User.find(user_id)
::Projects::DestroyService.new(project, user, params.symbolize_keys).execute
rescue ActiveRecord::RecordNotFound => error
logger.error("Failed to delete project (#{project_id}): #{error.message}")
end
end