Sha256: 1d25c1c2d4d69059cd8fb1f670f9d1a3410c8b165cb115c9d11ed0b542d8470d

Contents?: true

Size: 556 Bytes

Versions: 3

Compression:

Stored size: 556 Bytes

Contents

module ::Delayed
  class StatusException < Exception
  end
  class Status
    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
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mail_manager-3.0.0 lib/delayed/status.rb
mail_manager-0.1.4 lib/delayed/status.rb
mail_manager-0.1.2 lib/delayed/status.rb