Moved .restart_failed_jobs to backend and added rspec test.
This commit is contained in:
parent
80199a61b5
commit
60e7d990ea
3 changed files with 26 additions and 3 deletions
|
@ -183,9 +183,7 @@ curl http://localhost/api/v1/monitoring/status?token=XXX
|
||||||
def restart_failed_jobs
|
def restart_failed_jobs
|
||||||
access_check
|
access_check
|
||||||
|
|
||||||
Scheduler.where(status: 'error', active: false).each do |scheduler|
|
Scheduler.restart_failed_jobs
|
||||||
scheduler.update(active: true)
|
|
||||||
end
|
|
||||||
|
|
||||||
render json: {}, status: :ok
|
render json: {}, status: :ok
|
||||||
end
|
end
|
||||||
|
|
|
@ -267,4 +267,18 @@ class Scheduler < ApplicationModel
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# This function restarts failed jobs to retry them
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# Scheduler.restart_failed_jobs
|
||||||
|
#
|
||||||
|
# return [true]
|
||||||
|
def self.restart_failed_jobs
|
||||||
|
Scheduler.where(status: 'error', active: false).each do |scheduler|
|
||||||
|
scheduler.update(active: true)
|
||||||
|
end
|
||||||
|
|
||||||
|
true
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -26,6 +26,17 @@ RSpec.describe Scheduler do
|
||||||
SpecSpace.send(:remove_const, :DelayedJobBackend)
|
SpecSpace.send(:remove_const, :DelayedJobBackend)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '.restart_failed_jobs' do
|
||||||
|
|
||||||
|
it 'does restart failed jobs' do
|
||||||
|
job = create(:scheduler, status: 'error', active: false)
|
||||||
|
described_class.restart_failed_jobs
|
||||||
|
job.reload
|
||||||
|
expect(job.active).to be true
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
describe '._start_job' do
|
describe '._start_job' do
|
||||||
|
|
||||||
it 'sets error status/message for failed jobs' do
|
it 'sets error status/message for failed jobs' do
|
||||||
|
|
Loading…
Reference in a new issue