Module: Autoscale::Queue::Delayed::Job

Defined in:
lib/autoscale/queue/delayed/job.rb,
lib/autoscale/queue/delayed/job/version.rb

Constant Summary collapse

VERSION =
"0.2.0".freeze

Class Method Summary collapse

Class Method Details

.job_queue_time(*queues) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/autoscale/queue/delayed/job.rb', line 7

def job_queue_time(*queues)
  qry = ::Delayed::Job.select(:run_at)
  qry = qry.where("run_at <= ?", Time.now)
  qry = qry.where(failed_at: nil, locked_at: nil)
  qry = qry.where(queue: queues) unless queues.empty?
  age = qry.order(:run_at).first.try(:run_at)
  age ? (Time.now - age).round : 0
end