gitlab-org--gitlab-foss/app/workers/project_update_repository_s...

26 lines
799 B
Ruby

# frozen_string_literal: true
class ProjectUpdateRepositoryStorageWorker
include ApplicationWorker
idempotent!
feature_category :gitaly
urgency :throttled
def perform(project_id, new_repository_storage_key, repository_storage_move_id = nil)
repository_storage_move =
if repository_storage_move_id
ProjectRepositoryStorageMove.find(repository_storage_move_id)
else
# maintain compatibility with workers queued before release
project = Project.find(project_id)
project.repository_storage_moves.create!(
source_storage_name: project.repository_storage,
destination_storage_name: new_repository_storage_key
)
end
::Projects::UpdateRepositoryStorageService.new(repository_storage_move).execute
end
end