41 lines
1.0 KiB
Ruby
41 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
|
|
if !@job.locked_at?
|
|
@job.fail!
|
|
end
|
|
respond_with(@job)
|
|
end
|
|
|
|
def retry
|
|
@job = authorize Delayed::Job.find(params[:id]), policy_class: DelayedJobPolicy
|
|
if !@job.locked_at?
|
|
@job.update(failed_at: nil, attempts: 0)
|
|
end
|
|
respond_with(@job)
|
|
end
|
|
|
|
def run
|
|
@job = authorize Delayed::Job.find(params[:id]), policy_class: DelayedJobPolicy
|
|
if !@job.locked_at?
|
|
@job.update(run_at: Time.now)
|
|
end
|
|
respond_with(@job)
|
|
end
|
|
|
|
def destroy
|
|
@job = authorize Delayed::Job.find(params[:id]), policy_class: DelayedJobPolicy
|
|
if !@job.locked_at?
|
|
@job.destroy
|
|
end
|
|
respond_with(@job)
|
|
end
|
|
end
|