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
12
13
14
# File 'lib/delayed/status.rb', line 5

def self.ok?(overdue=15.minutes)
  failed_count = Delayed::Job.where('failed_at is not null').count
  raise(::Delayed::StatusException, "There are #{failed_count} failed jobs!"
    ) if failed_count > 0
  elapsed_time = (Time.now - status_job.updated_at).to_i
  raise(::Delayed::StatusException, 
    "Rails3 Status job hasn't run for #{elapsed_time} seconds"
  ) if elapsed_time > overdue
  true
end

.status_jobObject



15
16
17
18
# File 'lib/delayed/status.rb', line 15

def self.status_job
  status_job = Job.where("handler like '%StatusJob%'").first
  status_job ||= Job.enqueue StatusJob.new(1.minute.from_now)
end