Sha256: d621bc5a69fcf9bb23c1555ac2355d348e7341b0e4da31e5863194e1e2333eb0
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
# frozen_string_literal: true module Bulkrax class ImportWorkJob < ApplicationJob queue_as :import # rubocop:disable Rails/SkipsModelValidations def perform(entry_id, run_id, *) entry = Entry.find(entry_id) importer_run = ImporterRun.find(run_id) entry.build if entry.status == "Complete" importer_run.increment!(:processed_records) importer_run.increment!(:processed_works) else # do not retry here because whatever parse error kept you from creating a work will likely # keep preventing you from doing so. importer_run.increment!(:failed_records) importer_run.increment!(:failed_works) end # Regardless of completion or not, we want to decrement the enqueued records. importer_run.decrement!(:enqueued_records) unless importer_run.enqueued_records <= 0 entry.save! entry.importer.current_run = importer_run entry.importer.record_status rescue Bulkrax::CollectionsCreatedError reschedule(entry_id, run_id) end # rubocop:enable Rails/SkipsModelValidations def reschedule(entry_id, run_id) ImportWorkJob.set(wait: 1.minute).perform_later(entry_id, run_id) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bulkrax-4.4.2 | app/jobs/bulkrax/import_work_job.rb |
bulkrax-4.4.1 | app/jobs/bulkrax/import_work_job.rb |
bulkrax-4.4.0 | app/jobs/bulkrax/import_work_job.rb |