Class: SolidOps::JobsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- SolidOps::JobsController
- Defined in:
- app/controllers/solid_ops/jobs_controller.rb
Instance Method Summary collapse
- #clear_finished ⇒ Object
- #destroy ⇒ Object
- #discard ⇒ Object
- #discard_all ⇒ Object
- #failed ⇒ Object
- #retry ⇒ Object
- #retry_all ⇒ Object
- #running ⇒ Object
- #show ⇒ Object
Instance Method Details
#clear_finished ⇒ Object
52 53 54 55 56 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 52 def clear_finished count = SolidQueue::Job.where.not(finished_at: nil).count SolidQueue::Job.clear_finished_in_batches redirect_to queues_path, notice: "#{count} finished jobs cleared." end |
#destroy ⇒ Object
58 59 60 61 62 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 58 def destroy job = SolidQueue::Job.find(params[:id]) job.destroy redirect_to queues_path, notice: "Job #{params[:id]} deleted." end |
#discard ⇒ Object
34 35 36 37 38 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 34 def discard job = SolidQueue::Job.find(params[:id]) job.failed_execution&.discard redirect_back fallback_location: failed_jobs_path, notice: "Job #{job.id} discarded." end |
#discard_all ⇒ Object
46 47 48 49 50 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 46 def discard_all count = SolidQueue::FailedExecution.count SolidQueue::FailedExecution.discard_all_in_batches redirect_to failed_jobs_path, notice: "#{count} failed jobs discarded." end |
#failed ⇒ Object
20 21 22 23 24 25 26 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 20 def failed scope = SolidQueue::Job .joins(:failed_execution) .includes(:failed_execution) .order("solid_queue_failed_executions.created_at DESC") @failed_jobs = paginate(scope) end |
#retry ⇒ Object
28 29 30 31 32 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 28 def retry job = SolidQueue::Job.find(params[:id]) job.retry redirect_back fallback_location: failed_jobs_path, notice: "Job #{job.id} queued for retry." end |
#retry_all ⇒ Object
40 41 42 43 44 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 40 def retry_all count = SolidQueue::FailedExecution.count SolidQueue::FailedExecution.find_each(batch_size: 100, &:retry) redirect_to failed_jobs_path, notice: "#{count} failed jobs queued for retry." end |
#running ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 11 def running base = SolidQueue::Job .joins(:claimed_execution) .includes(:claimed_execution) .order("solid_queue_claimed_executions.created_at ASC") @running_count = base.count @running_jobs = base.limit(500) end |
#show ⇒ Object
7 8 9 |
# File 'app/controllers/solid_ops/jobs_controller.rb', line 7 def show @job = SolidQueue::Job.find(params[:id]) end |