[Zope] XRON enhancement suggestion

Alan Capesius alanc@tech-world.com
Thu, 9 Aug 2001 09:04:35 -0500


XRON is designed such that when the server is restarted any jobs in queue
are reviewed and sent when the server comes up. This is normally desireable
behavior. However it can lead to problems under the scenario of desktop use
of Zope or after extended downtime of a server.

If Zope is started after an extended downtime and repetitive jobs are
scheduled for short intervals, the same job will be fired multiple times on
start-up. In some cases this is undesirable.

For Example:
I have a number of items for sale on Ebay that I want to track their
progress while I am on the road.
I've decided to use Zope as a desktop scheduler.
I set up a xron job to use sendmail to alert me every 30 minutes to my
current Ebay auctions status to be sent to my cellphone's email feature.
I shut down Zope for the evening so that I won't get the alerts overnight.
I restart Zope in the morning so that I will get alerts throughout the day.
XRON detects the active job and fires it.
XRON reschedules the job for 30 minutes later and continues to refire until
the time is current.
This results in 25 duplicate messages to the phone.

Suggested Solution:
For jobs that require some assurrance of multiple firing (counters, timed
logging, etc.) the refire is desireable. For jobs that send current data or
perform a function which is not intended to be run in rapid fire (database
pack, database swaps, email alerts, etc.) the refire is not wanted.

Addition of a parameter that controls the rescheduling time behavior should
solve this problem. A simple checkbox, "reschedule to future only" or some
such.

XRON can check the current system time when this box is checked and if the
intended reschedule time is in the past, continue to increment it per the
interval until the new target time is in the future. This will maintain the
desired interval (time of day) and prevent rapid fire duplicate messages.

- Alan
---------------------------------------
Zope tips and tricks site
http://twsite.bizland.com/zopetips.htm