debian-mirror-gitlab/app/workers/project_update_repository_storage_worker.rb

26 lines
799 B
Ruby
Raw Normal View History

2020-04-08 14:13:33 +05:30
# frozen_string_literal: true
2020-07-28 23:09:34 +05:30
class ProjectUpdateRepositoryStorageWorker
2020-04-08 14:13:33 +05:30
include ApplicationWorker
2020-07-28 23:09:34 +05:30
idempotent!
2020-04-08 14:13:33 +05:30
feature_category :gitaly
2020-07-28 23:09:34 +05:30
urgency :throttled
2020-04-08 14:13:33 +05:30
2020-05-24 23:13:21 +05:30
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
2020-04-08 14:13:33 +05:30
2020-05-24 23:13:21 +05:30
::Projects::UpdateRepositoryStorageService.new(repository_storage_move).execute
2020-04-08 14:13:33 +05:30
end
end