Sha256: 219f9d94635bd63c89fac56e3075de9fa7dd2f3a06c12301da76ba47c96dc0d8

Contents?: true

Size: 1.2 KB

Versions: 20

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module Bulkrax
  class ExportWorkJob < ApplicationJob
    queue_as :export

    def perform(*args)
      entry = Entry.find(args[0])
      begin
        entry.build
        entry.save
      rescue StandardError
        # rubocop:disable Rails/SkipsModelValidations
        ExporterRun.find(args[1]).increment!(:failed_records)
        ExporterRun.find(args[1]).decrement!(:enqueued_records)
        raise
      else
        if entry.failed?
          ExporterRun.find(args[1]).increment!(:failed_records)
          ExporterRun.find(args[1]).decrement!(:enqueued_records)
          raise entry.reload.current_status.error_class.constantize
        else
          ExporterRun.find(args[1]).increment!(:processed_records)
          ExporterRun.find(args[1]).decrement!(:enqueued_records)
        end
        # rubocop:enable Rails/SkipsModelValidations
      end
      exporter_run = ExporterRun.find(args[1])
      return entry if exporter_run.enqueued_records.positive?
      if exporter_run.failed_records.positive?
        exporter_run.exporter.status_info('Complete (with failures)')
      else
        exporter_run.exporter.status_info('Complete')
      end

      return entry
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
bulkrax-3.0.0 app/jobs/bulkrax/export_work_job.rb
bulkrax-3.0.0.beta8 app/jobs/bulkrax/export_work_job.rb
bulkrax-3.0.0.beta7 app/jobs/bulkrax/export_work_job.rb
bulkrax-3.0.0.beta6 app/jobs/bulkrax/export_work_job.rb
bulkrax-3.0.0.beta5 app/jobs/bulkrax/export_work_job.rb
bulkrax-3.0.0.beta4 app/jobs/bulkrax/export_work_job.rb
bulkrax-3.0.0.beta3 app/jobs/bulkrax/export_work_job.rb
bulkrax-3.0.0.beta2 app/jobs/bulkrax/export_work_job.rb
bulkrax-3.0.0.beta1 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.3.0 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.2.4 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.2.3 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.2.2 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.2.1 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.2.0 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.1.1 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.1.0 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.0.2 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.0.1 app/jobs/bulkrax/export_work_job.rb
bulkrax-2.0.0 app/jobs/bulkrax/export_work_job.rb