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 - 27 Feb 2006 13:28 GMT
> In my system I have a java component which I want to activate only
> within a certain time window.
[quoted text clipped - 19 lines]
> 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.
--
Rhino