Class: SolidStackWeb::QueuesController

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

Instance Method Summary collapse

Instance Method Details

#indexObject



3
4
5
6
7
8
9
10
11
12
13
14
# File 'app/controllers/solid_stack_web/queues_controller.rb', line 3

def index
  queue_names = ::SolidQueue::ReadyExecution.distinct.pluck(:queue_name)
  paused      = ::SolidQueue::Pause.pluck(:queue_name).to_set

  @queues = queue_names.sort.map do |name|
    {
      name:   name,
      size:   ::SolidQueue::ReadyExecution.where(queue_name: name).count,
      paused: paused.include?(name)
    }
  end
end

#pauseObject



16
17
18
19
# File 'app/controllers/solid_stack_web/queues_controller.rb', line 16

def pause
  ::SolidQueue::Pause.find_or_create_by!(queue_name: params[:id])
  redirect_to queues_path
end

#resumeObject



21
22
23
24
# File 'app/controllers/solid_stack_web/queues_controller.rb', line 21

def resume
  ::SolidQueue::Pause.find_by(queue_name: params[:id])&.destroy
  redirect_to queues_path
end