[Opensource] Future Code for Expresso 5.1 and beyond [LONG THINK TANK ARTICLE]
Kris Thompson
kris.thompson at seurat.com
Tue Nov 5 07:14:46 PST 2002
> -----------------------------------------------------------------------
> Job Handler:
>
> Ok, so we've all pretty much concluded that JobHandler needs some
> work. I'd honestly like to see refactoring take a couple of steps:
>
> STEP 1: Make some interfaces to Job Handler that allows code to directly
> control the Job Queue, such as initiate shutdown, queue a job
> etc. Ideally, we wouldn't use the JobQueue DBObjects at all from the
> 'initiate a job' standpoint.
>
> STEP 2: Get a good reliable Job Handler that runs in a separate
> thread. Having Job Handler run in a separate VM currently can cause all
> sorts of issues with caching. So let's not even try it first off. Let's
> boost reliability in-VM. Issues are:
> Clean Shutdown
> Track down the final JobHandler/DBObject race conditions.
> Reliably run Job Scheduling.
>
1++
I believe that anyone who has spent any amount of time with the Job Handler
would agree that it is bugging therefore needs to be more reliable. I have
noticed myself a lot of disappearing jobs from the queue and I remember some
issues with jobs not getting deleted if you don't pass any cron params into
it (something weird with the internal jobqueue storage in a hashtable). The
fact that there is very little docs on the Job Handler adds to the confusion
of how it operates from a developers point of view. I have volunteered to
write a chapter on the Job Handler and still plan on doing so but if anyone
seems to have more energy then myself please let me know.
>
> STEP 3: Work on an out of VM Job Handler. AFAICT, this will require
> something like RMI to provide decent IPC communication to the Job
> Handler. [Or JMS if we want multiple Job Servers]. This would
> DEFINITELY
> be a replacement component for the in-VM Job Handler since it
> would require
> additional servers such as RMI Registry or JMS server. But we
> can work on
> it without affecting the current code base because we've componentized
> JobHandler as listed in step 1.
I have worked with RMI in the past and found it unsatisfying and would like
to recommend a JMS server solution but to be fair in my vote, I have never
worked with JMS before so it might be just as much or more of a pain then
RMI. Any comments from folks who have done a JMS implementation, would this
be a good use of JMS?
Kris
>
More information about the Opensource
mailing list