Java Component Scheduling  
Author Message
killerCoder





PostPosted: 2006-2-27 19:49:00 Top

java-programmer, Java Component Scheduling In my system I have a java component which I want to activate only
within a certain time window.

It is a distributed system consisting of a jobproducer which hands out
tasks to the workers. Each worker runs on a different host. I want a
worker to start up and process jobs only if the time is right.

I am currently thinking along the following lines:
- pass in a time-window argument to the worker program e.g. 1900-0600
(7pm to 6am)
- if the current time is valid, it registers with the job producer and
starts receiving/processing jobs
- if the current time is not valid, it sleeps for a bit and tries
again.
- after completing a job, it checks whether it can take on another job
at the current time. If it can't it sleeps.

I don't really like the idea of the sleeps. I also don't want the
producer to be burdened with the task of activating workers at certain
times. Is there a better way?

Does anyone have any experience of doing something like this? Any help
would be appreciated.

 
Rhino





PostPosted: 2006-2-27 21:29:00 Top

java-programmer >> Java Component Scheduling
"killerCoder" <email***@***.com> wrote in message
news:email***@***.com...
> In my system I have a java component which I want to activate only
> within a certain time window.
>
> It is a distributed system consisting of a jobproducer which hands out
> tasks to the workers. Each worker runs on a different host. I want a
> worker to start up and process jobs only if the time is right.
>
> I am currently thinking along the following lines:
> - pass in a time-window argument to the worker program e.g. 1900-0600
> (7pm to 6am)
> - if the current time is valid, it registers with the job producer and
> starts receiving/processing jobs
> - if the current time is not valid, it sleeps for a bit and tries
> again.
> - after completing a job, it checks whether it can take on another job
> at the current time. If it can't it sleeps.
>
> I don't really like the idea of the sleeps. I also don't want the
> producer to be burdened with the task of activating workers at certain
> times. Is there a better way?
>
> Does anyone have any experience of doing something like this? Any help
> would be appreciated.
>
Have you given any thought to using cron to handle the scheduling? That's
how these things are usually done in the Unix world. There are versions of
cron that work on Windows too if you're worried about compatibility, plus
there is a scheduler in some versions of Windows.