Sha256: c851b47de746812d157ac5d7878c0d7f855edf4082c399b79eb9ba25e5e08c20

Contents?: true

Size: 666 Bytes

Versions: 3

Compression:

Stored size: 666 Bytes

Contents

module ActiveEncode
  class PollingJob < ActiveJob::Base

    def perform(encode)
      encode.run_callbacks(:status_update) { encode }
      case encode.state
      when :failed
        encode.run_callbacks(:failed) { encode }
      when :cancelled
        encode.run_callbacks(:cancelled) { encode }
      when :completed
        encode.run_callbacks(:completed) { encode }
      when :running
        ActiveEncode::PollingJob.set(wait: ActiveEncode::Polling::POLLING_WAIT_TIME).perform_later(encode)
      else # other states are illegal and ignored
        raise StandardError, "Illegal state #{encode.state} in encode #{encode.id}!"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active_encode-0.5.0 app/jobs/active_encode/polling_job.rb
active_encode-0.4.1 app/jobs/active_encode/polling_job.rb
active_encode-0.4 app/jobs/active_encode/polling_job.rb