2021-02-22 17:27:13 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Projects
|
|
|
|
# Tries to schedule a move for every project with repositories on the source shard
|
|
|
|
class ScheduleBulkRepositoryShardMovesService
|
2021-03-08 18:12:59 +05:30
|
|
|
include ScheduleBulkRepositoryShardMovesMethods
|
|
|
|
extend ::Gitlab::Utils::Override
|
2021-02-22 17:27:13 +05:30
|
|
|
|
2021-03-08 18:12:59 +05:30
|
|
|
private
|
2021-02-22 17:27:13 +05:30
|
|
|
|
2021-03-08 18:12:59 +05:30
|
|
|
override :repository_klass
|
|
|
|
def repository_klass
|
|
|
|
ProjectRepository
|
|
|
|
end
|
2021-02-22 17:27:13 +05:30
|
|
|
|
2021-03-08 18:12:59 +05:30
|
|
|
override :container_klass
|
|
|
|
def container_klass
|
|
|
|
Project
|
|
|
|
end
|
2021-02-22 17:27:13 +05:30
|
|
|
|
2021-03-08 18:12:59 +05:30
|
|
|
override :container_column
|
|
|
|
def container_column
|
|
|
|
:project_id
|
2021-02-22 17:27:13 +05:30
|
|
|
end
|
|
|
|
|
2021-03-08 18:12:59 +05:30
|
|
|
override :schedule_bulk_worker_klass
|
|
|
|
def self.schedule_bulk_worker_klass
|
|
|
|
::ProjectScheduleBulkRepositoryShardMovesWorker
|
2021-02-22 17:27:13 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|