[Zope] Best Event system for Zope?

Etienne Labuschagne elabuschagne at gmsonline.co.za
Fri Feb 20 00:28:44 EST 2004

Thanks for the feedback Dieter and Terry,

Using a cron job is probably the fastest, easiest and most pragmatic way 
for us programmers.  My job as a programmer, however, is to make life even 
easier for my clients.  My clients mostly use Windows and gets a glazed 
look in their eyes when I start talking about running this script and 
running that script.   As it is, I already have endless hassles on why my 
solution doesn't have a one-click installer :(

I am therefore always trying to automate as much as possible within my 
product (I usually create a Zope product for a specific project that 
contains all the specific customizations for that project - it makes 
deployment much easier).

Previously I have used the following solution for scheduling tasks (and was 
hoping that Scheduler could replace this):

In one of the modules in my Product, I have a method that runs in a thread 
(boy, did it take me a while to tie down my knowledge on accessing the ZODB 
from threads!) and periodically calls a method via RPC.  The thread is of 
course registered (with asyncore or something) to start up after Zope tells 
it to.

This thread knows how to safely open a connection into the ZODB, retrieve 
information on where to find the methods it must fire (I store the paths in 
the root of the ZODB in a PersistentMapping - probably naughty, but works 
like a charm) and fire those methods every x seconds.

This is probably hackish, inelegant, or any other nasty term you can think 
of, but I cannot think of any better way to solve this - from within Zope.

I would be cool if a "heartbeat" could be built into the scheduler or event 
system - maybe I must have a go at it myself ;)


At 08:58 PM 19/2/2004 +0100, Dieter Maurer wrote:
>Etienne Labuschagne wrote at 2004-2-19 15:25 +0200:
> >I have mostly figured out the event system by now, but cannot figure out
> >how to get the scheduler to fire scheduled tasks by itself.  Isn't the
> >scheduler supposed to fire off scheduled tasks once their next scheduled
> >time comes up?  The only time when mine fires up tasks is when I trigger it
> >manually from the ZMI.
>Thus use "cron" (via "ZPublisher.Client", "wget", "curl" or "urllib")
>to tigger it periodically (as a replacement for your manual trigger).

More information about the Zope mailing list