Class: Delayed::Status

Inherits:
Object
  • Object
show all
Defined in:
lib/delayed/status.rb

Class Method Summary collapse

Class Method Details

.ok?(overdue = 15.minutes) ⇒ Boolean

Returns:

  • (Boolean)

Raises:



5
6
7
8
9
10
11
# File 'lib/delayed/status.rb', line 5

def self.ok?(overdue=15.minutes)
  job = ::Delayed::StatusJob.first || ::Delayed::StatusJob.enqueue(::Delayed::StatusJob.new)
  elapsed_time = (Time.now - job.updated_at).to_i
  raise(::Delayed::StatusException, "Rails3 Status job has failed at #{job.failed_at} with message: #{job.last_error}") if job.failed?
  raise(::Delayed::StatusException, "Rails3 Status job hasn't run for #{elapsed_time} seconds") if elapsed_time > overdue
  true
end