Class: Bulkrax::ImportFileSetJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- Bulkrax::ImportFileSetJob
- Includes:
- DynamicRecordLookup
- Defined in:
- app/jobs/bulkrax/import_file_set_job.rb
Instance Attribute Summary collapse
-
#importer_run_id ⇒ Object
readonly
Returns the value of attribute importer_run_id.
Instance Method Summary collapse
Methods included from DynamicRecordLookup
Instance Attribute Details
#importer_run_id ⇒ Object (readonly)
Returns the value of attribute importer_run_id.
11 12 13 |
# File 'app/jobs/bulkrax/import_file_set_job.rb', line 11 def importer_run_id @importer_run_id end |
Instance Method Details
#perform(entry_id, importer_run_id) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/jobs/bulkrax/import_file_set_job.rb', line 13 def perform(entry_id, importer_run_id) @importer_run_id = importer_run_id entry = Entry.find(entry_id) # e.g. "parents" or "parents_1" parent_identifier = (entry.[entry.] || entry.["#{entry.}_1"])&.strip begin validate_parent!(parent_identifier) rescue MissingParentError => e handle_retry(entry, importer_run_id, e) return end entry.build if entry.succeeded? # rubocop:disable Rails/SkipsModelValidations ImporterRun.increment_counter(:processed_records, importer_run_id) ImporterRun.increment_counter(:processed_file_sets, importer_run_id) else ImporterRun.increment_counter(:failed_records, importer_run_id) ImporterRun.increment_counter(:failed_file_sets, importer_run_id) # rubocop:enable Rails/SkipsModelValidations end ImporterRun.decrement_counter(:enqueued_records, importer_run_id) unless ImporterRun.find(importer_run_id).enqueued_records <= 0 # rubocop:disable Rails/SkipsModelValidations entry.save! entry.importer.current_run = ImporterRun.find(importer_run_id) entry.importer.record_status end |