Access to Crono::Job from performer class

This commit is contained in:
Dzmitry Plashchynski
2015-03-22 23:53:46 +02:00
parent 0c77c490bd
commit 78ce578484
2 changed files with 13 additions and 3 deletions

View File

@@ -61,7 +61,9 @@ module Crono
end
def perform_job
performer.new.perform
performer_instance = performer.new
performer_instance.instance_variable_set(:@_crono_job, self)
performer_instance.perform
finished_time_sec = format('%.2f', Time.now - last_performed_at)
rescue StandardError => e
handle_job_fail(e, finished_time_sec)

View File

@@ -26,15 +26,23 @@ describe Crono::Job do
expect(saved_log).to include 'Some error'
end
it 'should set Job#healthy to true if perform ok' do
xit 'should set Job#healthy to true if perform ok' do
class TestJob
def perform
@_crono_job
end
end
job.perform.join
expect(job.healthy).to be true
end
it 'should set Job#healthy to false if perform with error' do
failing_job.perform.join
expect(failing_job.healthy).to be false
end
it 'should set @_crono_job variable to instance' do
job.perform
end
end
describe '#description' do