Class: SolidQueueWeb::Jobs::SelectionsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- SolidQueueWeb::Jobs::SelectionsController
- Defined in:
- app/controllers/solid_queue_web/jobs/selections_controller.rb
Constant Summary
Constants inherited from ApplicationController
ApplicationController::PERIOD_DURATIONS
Instance Method Summary collapse
Instance Method Details
#destroy ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'app/controllers/solid_queue_web/jobs/selections_controller.rb', line 4 def destroy status = params[:status] period = params[:period].presence_in(PERIOD_DURATIONS.keys) raise ArgumentError, "Cannot discard #{status} jobs." unless Job::DISCARDABLE.include?(status) model = Job::EXECUTION_MODELS[status] ids = Array(params[:ids]).map(&:to_i).reject(&:zero?) jobs = model.where(id: ids).includes(:job).map(&:job) model.discard_all_from_jobs(jobs) redirect_to jobs_path(status: status, period: period), notice: "#{jobs.size} #{"job".pluralize(jobs.size)} discarded." rescue ArgumentError => e redirect_to jobs_path(status: status), alert: e. rescue => e redirect_to jobs_path(status: status), alert: "Could not discard jobs: #{e.}" end |