Class: RoundhouseUi::QueuesController

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

Constant Summary

Constants inherited from ApplicationController

ApplicationController::AUDIT_VERBS

Instance Method Summary collapse

Methods inherited from ApplicationController

#redirect_to

Instance Method Details

#indexObject



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

def index
  @query = params[:q].to_s.strip
  @queues = backend.queues
  @queues = @queues.select { |q| q.name.to_s.downcase.include?(@query.downcase) } if @query.present?
  @paused = backend.paused_queues
  # Native-pause backends (Solid Queue) enforce pauses without a fetcher, so
  # they never trigger the "not enforced" warning.
  @fetch_installed = backend.supports?(:native_pause) ||
                     (backend.respond_to?(:fetch_installed?) && backend.fetch_installed?)
end

#pauseObject



22
23
24
25
# File 'app/controllers/roundhouse_ui/queues_controller.rb', line 22

def pause
  backend.pause(params[:name])
  redirect_to queues_path, notice: "Paused “#{params[:name]}”."
end

#purgeObject

Real, OSS-supported destructive action: empties the queue in Redis.



17
18
19
20
# File 'app/controllers/roundhouse_ui/queues_controller.rb', line 17

def purge
  backend.queue(params[:name]).clear
  redirect_to queues_path, notice: "Purged queue “#{params[:name]}”."
end

#resumeObject



27
28
29
30
# File 'app/controllers/roundhouse_ui/queues_controller.rb', line 27

def resume
  backend.resume(params[:name])
  redirect_to queues_path, notice: "Resumed “#{params[:name]}”."
end

#snapshotObject

Non-destructive backup — allowed even in read-only mode.



33
34
35
36
# File 'app/controllers/roundhouse_ui/queues_controller.rb', line 33

def snapshot
  snap = RoundhouseUi::Snapshots.take(params[:name])
  redirect_to queues_path, notice: "Snapshot saved — #{snap[:count]} job(s) from “#{params[:name]}”."
end