Sha256: 515fbd0277f6a0b215902f3e7e26735d27bb0665e4ad138e71562ba16f4c98fe

Contents?: true

Size: 967 Bytes

Versions: 10

Compression:

Stored size: 967 Bytes

Contents

class CharacterizeJob < ActiveJob::Base
  queue_as Hyrax.config.ingest_queue_name

  # @param [FileSet] file_set
  # @param [String] file_id identifier for a Hydra::PCDM::File
  # @param [String, NilClass] filepath the cached file within the Hyrax.config.working_path
  def perform(file_set, file_id, filepath = nil)
    filename = Hyrax::WorkingDirectory.find_or_retrieve(file_id, file_set.id, filepath)
    raise LoadError, "#{file_set.class.characterization_proxy} was not found" unless file_set.characterization_proxy?
    Hydra::Works::CharacterizationService.run(file_set.characterization_proxy, filename)
    Rails.logger.debug "Ran characterization on #{file_set.characterization_proxy.id} (#{file_set.characterization_proxy.mime_type})"
    file_set.characterization_proxy.save!
    file_set.update_index
    file_set.parent.in_collections.each(&:update_index) if file_set.parent
    CreateDerivativesJob.perform_later(file_set, file_id, filename)
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
hyrax-1.1.1 app/jobs/characterize_job.rb
hyrax-1.1.0 app/jobs/characterize_job.rb
hyrax-1.0.5 app/jobs/characterize_job.rb
hyrax-1.0.4 app/jobs/characterize_job.rb
hyrax-1.0.3 app/jobs/characterize_job.rb
hyrax-1.0.2 app/jobs/characterize_job.rb
hyrax-1.0.1 app/jobs/characterize_job.rb
hyrax-1.0.0.rc2 app/jobs/characterize_job.rb
hyrax-1.0.0.rc1 app/jobs/characterize_job.rb
test_hyrax-0.0.1.alpha app/jobs/characterize_job.rb