[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