Class: SolidQueueWeb::FailedJobsController

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

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
# File 'app/controllers/solid_queue_web/failed_jobs_controller.rb', line 32

def discard_all
  count = SolidQueue::FailedExecution.count
  SolidQueue::FailedExecution.discard_all_in_batches
  redirect_to failed_jobs_path, notice: "#{count} #{"job".pluralize(count)} discarded."
end

#indexObject



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

def index
  @pagy, @failed_jobs = pagy(
    SolidQueue::FailedExecution.includes(:job).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
  executions = SolidQueue::FailedExecution.includes(:job).to_a
  jobs = executions.map(&:job)
  SolidQueue::FailedExecution.retry_all(jobs)
  redirect_to failed_jobs_path, notice: "#{jobs.size} #{"job".pluralize(jobs.size)} queued for retry."
end