Class: ActiveEncode::PollingJob

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
app/jobs/active_encode/polling_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(encode) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/jobs/active_encode/polling_job.rb', line 4

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