Class: SolidStackWeb::QueueStats

Inherits:
Object
  • Object
show all
Defined in:
app/models/solid_stack_web/queue_stats.rb

Instance Method Summary collapse

Instance Method Details

#to_hObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/models/solid_stack_web/queue_stats.rb', line 3

def to_h
  finished_24h = finished_since(24.hours.ago)
  stats = {
    ready:             ::SolidQueue::ReadyExecution.count,
    scheduled:         ::SolidQueue::ScheduledExecution.count,
    claimed:           ::SolidQueue::ClaimedExecution.count,
    blocked:           ::SolidQueue::BlockedExecution.count,
    failed:            ::SolidQueue::FailedExecution.count,
    done_1h:           finished_since(1.hour.ago).count,
    done_24h:          finished_24h.count,
    processes_healthy: ::SolidQueue::Process.where("last_heartbeat_at > ?", 5.minutes.ago).count,
    processes_stale:   ::SolidQueue::Process.where("last_heartbeat_at <= ? OR last_heartbeat_at IS NULL", 5.minutes.ago).count
  }
  add_slow_jobs(stats, finished_24h)
  stats
end