mirror of
https://github.com/plashchynski/crono.git
synced 2026-07-12 07:42:44 +02:00
Access to Crono::Job from performer class
This commit is contained in:
+3
-1
@@ -61,7 +61,9 @@ module Crono
|
|||||||
end
|
end
|
||||||
|
|
||||||
def perform_job
|
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)
|
finished_time_sec = format('%.2f', Time.now - last_performed_at)
|
||||||
rescue StandardError => e
|
rescue StandardError => e
|
||||||
handle_job_fail(e, finished_time_sec)
|
handle_job_fail(e, finished_time_sec)
|
||||||
|
|||||||
+10
-2
@@ -26,15 +26,23 @@ describe Crono::Job do
|
|||||||
expect(saved_log).to include 'Some error'
|
expect(saved_log).to include 'Some error'
|
||||||
end
|
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
|
job.perform.join
|
||||||
expect(job.healthy).to be true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should set Job#healthy to false if perform with error' do
|
it 'should set Job#healthy to false if perform with error' do
|
||||||
failing_job.perform.join
|
failing_job.perform.join
|
||||||
expect(failing_job.healthy).to be false
|
expect(failing_job.healthy).to be false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should set @_crono_job variable to instance' do
|
||||||
|
job.perform
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#description' do
|
describe '#description' do
|
||||||
|
|||||||
Reference in New Issue
Block a user