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 ;) Etienne 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).
-- Dieter