Class: SolidQueueWeb::FailedJobsController

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

Constant Summary

Constants inherited from ApplicationController

ApplicationController::PERIOD_DURATIONS

Instance Method Summary collapse

Instance Method Details

#destroyObject



17
18
19
20
21
22
23
# File 'app/controllers/solid_queue_web/failed_jobs_controller.rb', line 17

def destroy
  execution = SolidQueue::FailedExecution.find(params[:id])
  execution.discard
  redirect_to failed_jobs_path, notice: "Job discarded."
rescue => e
  redirect_to failed_jobs_path, alert: "Could not discard job: #{e.message}"
end

#discard_allObject



32
33
34
35
36
37
# File 'app/controllers/solid_queue_web/failed_jobs_controller.rb', line 32

def discard_all
  jobs = filtered_scope.map(&:job)
  SolidQueue::FailedExecution.discard_all_from_jobs(jobs)
  redirect_to failed_jobs_path(queue: @queue, q: @search, period: @period),
    notice: "#{jobs.size} #{"job".pluralize(jobs.size)} discarded."
end

#indexObject



5
6
7
# File 'app/controllers/solid_queue_web/failed_jobs_controller.rb', line 5

def index
  @pagy, @failed_jobs = pagy(filtered_scope.order(created_at: :desc))
end

#retryObject



9
10
11
12
13
14
15
# File 'app/controllers/solid_queue_web/failed_jobs_controller.rb', line 9

def retry
  execution = SolidQueue::FailedExecution.find(params[:id])
  execution.retry
  redirect_to failed_jobs_path, notice: "Job queued for retry."
rescue => e
  redirect_to failed_jobs_path, alert: "Could not retry job: #{e.message}"
end

#retry_allObject



25
26
27
28
29
30
# File 'app/controllers/solid_queue_web/failed_jobs_controller.rb', line 25

def retry_all
  jobs = filtered_scope.map(&:job)
  SolidQueue::FailedExecution.retry_all(jobs)
  redirect_to failed_jobs_path(queue: @queue, q: @search, period: @period),
    notice: "#{jobs.size} #{"job".pluralize(jobs.size)} queued for retry."
end