Class: Gitlab::GithubImport::Stage::ImportRepositoryWorker
- Inherits:
-
Object
- Object
- Gitlab::GithubImport::Stage::ImportRepositoryWorker
- Includes:
- ApplicationWorker, Queue, Gitlab::GithubImport::StageMethods
- Defined in:
- app/workers/gitlab/github_import/stage/import_repository_worker.rb
Overview
rubocop:disable Scalability/IdempotentWorker
Constant Summary
Constants included from ApplicationWorker
ApplicationWorker::LOGGING_EXTRA_KEY
Constants included from WorkerAttributes
WorkerAttributes::NAMESPACE_WEIGHTS, WorkerAttributes::VALID_RESOURCE_BOUNDARIES, WorkerAttributes::VALID_URGENCIES
Instance Method Summary collapse
- #counter ⇒ Object
-
#import(client, project) ⇒ Object
client - An instance of Gitlab::GithubImport::Client.
Methods included from Gitlab::GithubImport::StageMethods
#find_project, #perform, #try_import
Methods included from SidekiqVersioning::Worker
Methods included from WorkerContext
Instance Method Details
#counter ⇒ Object
33 34 35 36 37 38 |
# File 'app/workers/gitlab/github_import/stage/import_repository_worker.rb', line 33 def counter Gitlab::Metrics.counter( :github_importer_imported_repositories, 'The number of imported GitHub repositories' ) end |
#import(client, project) ⇒ Object
client - An instance of Gitlab::GithubImport::Client. project - An instance of Project.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/workers/gitlab/github_import/stage/import_repository_worker.rb', line 17 def import(client, project) # In extreme cases it's possible for a clone to take more than the # import job expiration time. To work around this we schedule a # separate job that will periodically run and refresh the import # expiration time. RefreshImportJidWorker.perform_in_the_future(project.id, jid) importer = Importer::RepositoryImporter.new(project, client) return unless importer.execute counter.increment ImportBaseDataWorker.perform_async(project.id) end |