Class: Gitlab::GithubImport::Stage::ImportPullRequestsWorker
- Inherits:
-
Object
- Object
- Gitlab::GithubImport::Stage::ImportPullRequestsWorker
- Defined in:
- app/workers/gitlab/github_import/stage/import_pull_requests_worker.rb
Overview
rubocop:disable Scalability/IdempotentWorker
Constant Summary
Constants included from Import::ResumableImportJob
Import::ResumableImportJob::MAX_RETRIES_AFTER_INTERRUPTION
Constants included from ApplicationWorker
ApplicationWorker::LOGGING_EXTRA_KEY, ApplicationWorker::SAFE_PUSH_BULK_LIMIT
Constants included from Loggable
Constants included from WorkerAttributes
WorkerAttributes::DEFAULT_CONCURRENCY_LIMIT_PERCENTAGE_BY_URGENCY, WorkerAttributes::DEFAULT_DATA_CONSISTENCY, WorkerAttributes::DEFAULT_DATA_CONSISTENCY_PER_DB, WorkerAttributes::DEFAULT_DEFER_DELAY, WorkerAttributes::LOAD_BALANCED_DATA_CONSISTENCIES, WorkerAttributes::NAMESPACE_WEIGHTS, WorkerAttributes::VALID_DATA_CONSISTENCIES, WorkerAttributes::VALID_RESOURCE_BOUNDARIES, WorkerAttributes::VALID_URGENCIES
Instance Method Summary collapse
-
#import(client, project) ⇒ Object
client - An instance of Gitlab::GithubImport::Client.
Methods included from Gitlab::GithubImport::StageMethods
Methods included from Loggable
Methods included from SidekiqVersioning::Worker
Methods included from WorkerContext
Instance Method Details
#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 32 33 34 |
# File 'app/workers/gitlab/github_import/stage/import_pull_requests_worker.rb', line 17 def import(client, project) info(project.id, message: "starting importer", importer: 'Importer::PullRequestsImporter') # If a user creates a new merge request while the import is in progress, GitLab can assign an IID # to this merge request that already exists for a GitHub Pull Request. # The workaround is to allocate IIDs before starting the importer. allocate_merge_requests_internal_id!(project, client) waiter = Importer::PullRequestsImporter .new(project, client) .execute AdvanceStageWorker.perform_async( project.id, { waiter.key => waiter.jobs_remaining }, 'collaborators' ) end |