Class: Bulkrax::ImporterJob

Inherits:
ApplicationJob show all
Defined in:
app/jobs/bulkrax/importer_job.rb

Instance Method Summary collapse

Instance Method Details

#import(importer, only_updates_since_last_import) ⇒ Object



14
15
16
17
18
19
20
# File 'app/jobs/bulkrax/importer_job.rb', line 14

def import(importer, only_updates_since_last_import)
  importer.only_updates = only_updates_since_last_import || false
  return unless importer.valid_import?
  importer.import_collections
  importer.import_works
  importer.create_parent_child_relationships unless importer.validate_only
end

#perform(importer_id, only_updates_since_last_import = false) ⇒ Object



7
8
9
10
11
12
# File 'app/jobs/bulkrax/importer_job.rb', line 7

def perform(importer_id, only_updates_since_last_import = false)
  importer = Importer.find(importer_id)
  importer.current_run
  import(importer, only_updates_since_last_import)
  schedule(importer) if importer.schedulable?
end

#schedule(importer) ⇒ Object



22
23
24
# File 'app/jobs/bulkrax/importer_job.rb', line 22

def schedule(importer)
  ImporterJob.set(wait_until: importer.next_import_at).perform_later(importer.id, true)
end