[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

BackgrounDRb behavoir

subsume@gmail.com

5/26/2007 11:59:00 PM

Call me confused. I call the following:

MiddleMan.schedule_worker(
:class => :update_friends_worker,
:job_key => :schedule_test,
:worker_method => :arg_method,
:worker_method_args => "my argument to arg_method",
:trigger_type => :cron_trigger,
:trigger_args => "1 * * * * * *"
)

And that worker looks like:

class UpdateFriendsWorker < BackgrounDRb::Worker::RailsBase

def do_work(args)
logger.info('Shoes')
end

end
UpdateFriendsWorker.register

Shouldn't the above put an entry 'Shoes' in the log every minute? I only
get 1, and that's it. Been waiting 5 minutes.

-Steve

--
Posted via http://www.ruby-....

2 Answers

Ezra Zygmuntowicz

5/27/2007 12:21:00 AM

0


On May 26, 2007, at 4:59 PM, Sy Ys wrote:

> Call me confused. I call the following:
>
> MiddleMan.schedule_worker(
> :class => :update_friends_worker,
> :job_key => :schedule_test,
> :worker_method => :arg_method,

^^^^^^^^^^

The method that will be called by the scheduler is :arg_method since
thats how you defined it. The do_work method always gets called once
on worker instantiation. the :worker_method is the method that will
be called by the scheduler.

> :worker_method_args => "my argument to arg_method",
> :trigger_type => :cron_trigger,
> :trigger_args => "1 * * * * * *"
> )
>
> And that worker looks like:
>
> class UpdateFriendsWorker < BackgrounDRb::Worker::RailsBase
>
> def do_work(args)
> logger.info('Shoes')
> end

def arg_method
logger.info('UrMom')
end

> end
> UpdateFriendsWorker.register
>
> Shouldn't the above put an entry 'Shoes' in the log every minute? I
> only
> get 1, and that's it. Been waiting 5 minutes.
>
> -Steve


Cheers-
-- Ezra Zygmuntowicz
-- Lead Rails Evangelist
-- ez@engineyard.com
-- Engine Yard, Serious Rails Hosting
-- (866) 518-YARD (9273)



subsume@gmail.com

5/27/2007 1:52:00 PM

0

Doh. Simple mistake.

One more question. What is the preferred method for granting workers in
/lib/workers access to my application's controller classes?

Ezra Zygmuntowicz wrote:
> The method that will be called by the scheduler is :arg_method since
> thats how you defined it. The do_work method always gets called once
> on worker instantiation. the :worker_method is the method that will
> be called by the scheduler.

--
Posted via http://www.ruby-....