2020-11-26 12:09:48 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Projects
|
|
|
|
# Tries to schedule a move for every project with repositories on the source shard
|
|
|
|
class ScheduleBulkRepositoryShardMovesService
|
2020-12-23 12:10:26 +00:00
|
|
|
include ScheduleBulkRepositoryShardMovesMethods
|
|
|
|
extend ::Gitlab::Utils::Override
|
2020-11-26 12:09:48 +00:00
|
|
|
|
2020-12-23 12:10:26 +00:00
|
|
|
private
|
2020-11-26 12:09:48 +00:00
|
|
|
|
2020-12-23 12:10:26 +00:00
|
|
|
override :repository_klass
|
|
|
|
def repository_klass
|
|
|
|
ProjectRepository
|
|
|
|
end
|
2020-11-26 12:09:48 +00:00
|
|
|
|
2020-12-23 12:10:26 +00:00
|
|
|
override :container_klass
|
|
|
|
def container_klass
|
|
|
|
Project
|
|
|
|
end
|
2020-11-26 12:09:48 +00:00
|
|
|
|
2020-12-23 12:10:26 +00:00
|
|
|
override :container_column
|
|
|
|
def container_column
|
|
|
|
:project_id
|
2020-11-26 12:09:48 +00:00
|
|
|
end
|
|
|
|
|
2020-12-23 12:10:26 +00:00
|
|
|
override :schedule_bulk_worker_klass
|
|
|
|
def self.schedule_bulk_worker_klass
|
2021-02-22 18:10:55 +00:00
|
|
|
::Projects::ScheduleBulkRepositoryShardMovesWorker
|
2020-11-26 12:09:48 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|