Class: Gitlab::BitbucketServerImport::Importers::NotesImporter
- Inherits:
-
Object
- Object
- Gitlab::BitbucketServerImport::Importers::NotesImporter
- Includes:
- ParallelScheduling
- Defined in:
- lib/gitlab/bitbucket_server_import/importers/notes_importer.rb
Constant Summary
Constants included from ParallelScheduling
ParallelScheduling::ALREADY_PROCESSED_CACHE_KEY, ParallelScheduling::BATCH_SIZE, ParallelScheduling::JOB_WAITER_CACHE_KEY
Instance Attribute Summary
Attributes included from ParallelScheduling
#already_processed_cache_key, #job_waiter_cache_key
Instance Method Summary collapse
Methods included from ParallelScheduling
Methods included from Loggable
#log_debug, #log_error, #log_info, #log_warn
Instance Method Details
#execute ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/gitlab/bitbucket_server_import/importers/notes_importer.rb', line 9 def execute project.merge_requests.find_each do |merge_request| # Needs to come before `already_processed?` as `jobs_remaining` resets to zero when the job restarts and # jobs_remaining needs to be the total amount of enqueued jobs job_waiter.jobs_remaining += 1 next if already_processed?(merge_request) job_delay = calculate_job_delay(job_waiter.jobs_remaining) sidekiq_worker_class.perform_in(job_delay, project.id, { iid: merge_request.iid }, job_waiter.key) mark_as_processed(merge_request) end job_waiter end |