Files
danbooru/app/controllers/delayed_jobs_controller.rb
2021-06-17 04:17:53 -05:00

33 lines
1.0 KiB
Ruby

class DelayedJobsController < ApplicationController
respond_to :html, :xml, :json, :js
def index
@delayed_jobs = authorize Delayed::Job.order("run_at asc").extending(PaginationExtension).paginate(params[:page], :limit => params[:limit]), policy_class: DelayedJobPolicy
respond_with(@delayed_jobs)
end
def cancel
@job = authorize Delayed::Job.find(params[:id]), policy_class: DelayedJobPolicy
@job.fail! unless @job.locked_at?
respond_with(@job)
end
def retry
@job = authorize Delayed::Job.find(params[:id]), policy_class: DelayedJobPolicy
@job.update(failed_at: nil, attempts: 0) unless @job.locked_at?
respond_with(@job)
end
def run
@job = authorize Delayed::Job.find(params[:id]), policy_class: DelayedJobPolicy
@job.update(run_at: Time.zone.now) unless @job.locked_at?
respond_with(@job)
end
def destroy
@job = authorize Delayed::Job.find(params[:id]), policy_class: DelayedJobPolicy
@job.destroy unless @job.locked_at?
respond_with(@job)
end
end