class Delayed::Status
Public Class Methods
ok?(overdue=15.minutes)
click to toggle source
# 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_job()
click to toggle source
# 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