[Backgroundrb-devel] Scheduling same worker/method at different times with different args
hemant
gethemant at gmail.com
Mon Jan 28 15:15:52 EST 2008
On Tue, Jan 29, 2008 at 1:02 AM, Scott Ward <scott at shefield.com> wrote:
> I need to run the same worker's method twice per day with different
> arguments. Unfortunately, only the second entry in the schedule is firing.
>
> I created an experimental worker to verify this:
>
> Worker:
> class ExperimentWorker < BackgrounDRb::MetaWorker
> set_worker_name :experiment_worker
> def create(args = nil)
> # this method is called, when worker is loaded for the first time
> end
>
> def experiment(args = {})
> logger.info "#{Time.now} - Experiment fired at #{args[:repeat_second]}
> second mark."
> end
> end
>
>
> In backgroundrb.yml:
> :schedules:
> :experiment_worker:
> :experiment:
> :trigger_args: "0 * * * * * *"
> :data:
> :repeat_second: zero
> :experiment:
> :trigger_args: "30 * * * * * *"
> :data:
> :repeat_second: thirty
>
>
> In the log, I only see "Experiment fired at thirty second mark." Why isn't
> the first entry for experiment worker firing? Perhaps, I have this set up
> wrong?
Because it needs different method names for such a firing. As you
might have noticed, currently you have two values with same key in
configuration file.
--
Let them talk of their oriental summer climes of everlasting
conservatories; give me the privilege of making my own summer with my
own coals.
http://gnufied.org
More information about the Backgroundrb-devel
mailing list