Class: SolidQueueTui::Data::ProcessesQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/solid_queue_tui/data/processes_query.rb

Defined Under Namespace

Classes: Process, RunningJob

Class Method Summary collapse

Class Method Details

.fetchObject



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/solid_queue_tui/data/processes_query.rb', line 55

def self.fetch
  SolidQueue::Process.where(kind: "Worker").order(:id).map do |proc|
    Process.new(
      id: proc.id,
      kind: proc.kind,
      pid: proc.pid,
      hostname: proc.hostname,
      name: proc.name,
      last_heartbeat_at: proc.last_heartbeat_at,
      supervisor_id: proc.supervisor_id,
      metadata: proc.,
      created_at: proc.created_at
    )
  end
rescue => e
  []
end

.fetch_running_jobs(process_id:) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/solid_queue_tui/data/processes_query.rb', line 37

def self.fetch_running_jobs(process_id:)
  SolidQueue::ClaimedExecution
    .where(process_id: process_id)
    .joins(:job).includes(:job)
    .order(:created_at)
    .map do |ce|
      job = ce.job
      RunningJob.new(
        job_id: job.id,
        class_name: job.class_name,
        queue_name: job.queue_name,
        started_at: ce.created_at
      )
    end
rescue => e
  []
end