Class: SolidQueueWeb::FailedJobs::SelectionsController

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

Constant Summary

Constants inherited from ApplicationController

ApplicationController::PERIOD_DURATIONS

Instance Method Summary collapse

Instance Method Details

#createObject



4
5
6
7
8
9
10
11
12
13
# File 'app/controllers/solid_queue_web/failed_jobs/selections_controller.rb', line 4

def create
  ids = Array(params[:ids]).map(&:to_i).reject(&:zero?)
  executions = SolidQueue::FailedExecution.where(id: ids)
  jobs = executions.includes(:job).map(&:job)
  SolidQueue::FailedExecution.retry_all(jobs)
  redirect_to failed_jobs_path,
    notice: "#{jobs.size} #{"job".pluralize(jobs.size)} queued for retry."
rescue => e
  redirect_to failed_jobs_path, alert: "Could not retry jobs: #{e.message}"
end

#destroyObject



15
16
17
18
19
20
21
22
23
24
# File 'app/controllers/solid_queue_web/failed_jobs/selections_controller.rb', line 15

def destroy
  ids = Array(params[:ids]).map(&:to_i).reject(&:zero?)
  executions = SolidQueue::FailedExecution.where(id: ids)
  jobs = executions.includes(:job).map(&:job)
  SolidQueue::FailedExecution.discard_all_from_jobs(jobs)
  redirect_to failed_jobs_path,
    notice: "#{jobs.size} #{"job".pluralize(jobs.size)} discarded."
rescue => e
  redirect_to failed_jobs_path, alert: "Could not discard jobs: #{e.message}"
end