Class: Anomonitor::Jobs::Browsers::SolidQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/anomonitor/jobs/browsers/solid_queue.rb

Constant Summary collapse

LIMIT =
50

Instance Method Summary collapse

Instance Method Details

#fetch(filters) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/anomonitor/jobs/browsers/solid_queue.rb', line 13

def fetch(filters)
  unless solid_queue_available?
    Anomonitor.logger.warn("[Anomonitor] Jobs browser skipped solid_queue: tables not available")
    return []
  end

  status = filters[:status]
  rows = []
  rows.concat(ready_rows(filters)) if status == "all" || status == "pending"
  rows.concat(scheduled_rows(filters)) if status == "all" || status == "pending"
  rows.concat(claimed_rows(filters)) if status == "all" || status == "locked"
  rows.concat(failed_rows(filters)) if status == "all" || status == "failed"
  rows.first(LIMIT)
rescue StandardError => e
  Anomonitor.logger.warn("[Anomonitor] Solid Queue jobs browser error: #{e.message}")
  []
end

#source_keyObject



9
10
11
# File 'lib/anomonitor/jobs/browsers/solid_queue.rb', line 9

def source_key
  "solid_queue"
end