From 3178b09cdc0cba683f6154303fff0cf5fa7aa8e0 Mon Sep 17 00:00:00 2001 From: Jeff Kreeftmeijer Date: Sat, 16 Jan 2010 14:21:21 +0100 Subject: [PATCH] Sequel sends args too, cleaned up, fixed arg bug --- lib/navvy/job/active_record.rb | 2 +- lib/navvy/job/mongo_mapper.rb | 2 +- lib/navvy/job/sequel.rb | 2 +- lib/navvy/worker.rb | 2 +- spec/job/sequel_spec.rb | 22 +++++++++++++++------- 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/lib/navvy/job/active_record.rb b/lib/navvy/job/active_record.rb index d7e7ae1..8ff99a9 100644 --- a/lib/navvy/job/active_record.rb +++ b/lib/navvy/job/active_record.rb @@ -109,7 +109,7 @@ def run if args.empty? result = object.constantize.send(method_name) else - result = object.constantize.send(method_name, args.join(', ')) + result = object.constantize.send(method_name, *args) end Navvy::Job.keep? ? completed : destroy result diff --git a/lib/navvy/job/mongo_mapper.rb b/lib/navvy/job/mongo_mapper.rb index 9c84b8c..bb86e3b 100644 --- a/lib/navvy/job/mongo_mapper.rb +++ b/lib/navvy/job/mongo_mapper.rb @@ -119,7 +119,7 @@ def run if args.empty? result = object.constantize.send(method_name) else - result = object.constantize.send(method_name, args.join(', ')) + result = object.constantize.send(method_name, *args) end Navvy::Job.keep? ? completed : destroy result diff --git a/lib/navvy/job/sequel.rb b/lib/navvy/job/sequel.rb index 6ce3ca4..443777b 100644 --- a/lib/navvy/job/sequel.rb +++ b/lib/navvy/job/sequel.rb @@ -98,7 +98,7 @@ def self.cleanup def run begin update(:started_at => Time.now) - result = Kernel.const_get(object).send(method_name) + result = Kernel.const_get(object).send(method_name, *args) Navvy::Job.keep? ? completed : destroy result rescue Exception => exception diff --git a/lib/navvy/worker.rb b/lib/navvy/worker.rb index 0df2823..0ffff0b 100644 --- a/lib/navvy/worker.rb +++ b/lib/navvy/worker.rb @@ -28,7 +28,7 @@ def self.fetch_and_run_jobs Job.next.each do |job| result = job.run Navvy::Log.info( - "* #{job.object}.#{job.method_name}" << + "* #{job.object.to_s}.#{job.method_name}" << "(#{job.args.join(', ')}) => #{(job.exception || result).to_s}", job.failed? ? 31 : 32 ) diff --git a/spec/job/sequel_spec.rb b/spec/job/sequel_spec.rb index bebab62..d77cfae 100644 --- a/spec/job/sequel_spec.rb +++ b/spec/job/sequel_spec.rb @@ -7,7 +7,7 @@ describe '.enqueue' do before(:each) do - Navvy::Job.dataset.delete + Navvy::Job.delete end it 'should enqueue a job' do @@ -56,7 +56,7 @@ describe '.next' do before(:each) do - Navvy::Job.dataset.delete + Navvy::Job.delete Navvy::Job.insert( :object => 'Cow', :method_name => :last.to_s, @@ -106,7 +106,7 @@ describe '.cleanup' do before(:each) do - Navvy::Job.dataset.delete + Navvy::Job.delete Navvy::Job.create( :object => 'Cow', :method_name => :speak.to_s, @@ -142,9 +142,17 @@ end describe '#run' do + + it 'should pass the arguments' do + Navvy::Job.delete + job = Navvy::Job.enqueue(Cow, :name, 'Betsy') + Cow.should_receive(:name).with('Betsy') + job.run + end + describe 'when everything goes well' do before(:each) do - Navvy::Job.dataset.delete + Navvy::Job.delete Navvy::Job.enqueue(Cow, :speak) Navvy::Job.keep = false end @@ -185,7 +193,7 @@ describe 'when a job fails' do before(:each) do - Navvy::Job.dataset.delete + Navvy::Job.delete Navvy::Job.enqueue(Cow, :broken) end @@ -202,7 +210,7 @@ describe '#completed' do before(:each) do - Navvy::Job.dataset.delete + Navvy::Job.delete Navvy::Job.enqueue(Cow, :speak) end @@ -221,7 +229,7 @@ describe '#failed' do before(:each) do - Navvy::Job.dataset.delete + Navvy::Job.delete Navvy::Job.enqueue(Cow, :speak) end