Class: SolidQueueWeb::QueuesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/solid_queue_web/queues_controller.rb

Constant Summary

Constants inherited from ApplicationController

ApplicationController::PERIOD_DURATIONS

Instance Method Summary collapse

Instance Method Details

#indexObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/controllers/solid_queue_web/queues_controller.rb', line 3

def index
  @queues = SolidQueue::Queue.all.sort_by(&:name)

  now = Time.current
  @completed_24h = SolidQueue::Job
    .where(finished_at: 24.hours.ago..now)
    .group(:queue_name)
    .count
  @failed_24h = SolidQueue::FailedExecution
    .joins(:job)
    .where(created_at: 24.hours.ago..now)
    .group("solid_queue_jobs.queue_name")
    .count
  @oldest_ready = SolidQueue::ReadyExecution
    .joins(:job)
    .group("solid_queue_jobs.queue_name")
    .minimum("solid_queue_jobs.created_at")
end

#pauseObject



22
23
24
25
26
27
28
# File 'app/controllers/solid_queue_web/queues_controller.rb', line 22

def pause
  queue = SolidQueue::Queue.find_by_name(params[:name])
  queue.pause
  redirect_to queues_path, notice: "Queue \"#{queue.name}\" paused."
rescue => e
  redirect_to queues_path, alert: "Could not pause queue: #{e.message}"
end

#resumeObject



30
31
32
33
34
35
36
# File 'app/controllers/solid_queue_web/queues_controller.rb', line 30

def resume
  queue = SolidQueue::Queue.find_by_name(params[:name])
  queue.resume
  redirect_to queues_path, notice: "Queue \"#{queue.name}\" resumed."
rescue => e
  redirect_to queues_path, alert: "Could not resume queue: #{e.message}"
end