There was some discussion earlier this year on the Zope-Dev list. THese items may belong in subclassed objects based on "schedulable"(?) or might be considered part of a larger "Zope Event Model" project, for later on. At any rate, here are some of the ideas that came out back in February. "Zope and a standalone Python event loop can easily pass messages in the form of records in a shared data store, e.g. a PostgreSQL database.
... Do you think it's important to capture output?
Not in itself, but it is certainly necessary to verify successful completion of each event, and those events can involve creation of output. ZODB may or may not be the target storage for such output, but an effective Event Manager must at least be able to confirm the output's existence and correctness, currency, etc. When an event fails an error event may be generated, whose first purpose is to attempt to restart the failed event, including verifying and/or reinitializing any prerequisites. An alert event (auto-page) may also be generated, to notify the designated driver of a mishap. (Yuck!) We found that we needed to track : dependencies (conditions required prior to start, such as prior events) normal runtime window (earliest start time, latest end time) normal runtime length (shortest expected completion period, longest) on-completion action (initiate subsequent event) on-error action (re-start event, alert event, etc.)
The kinds of scheduled tasks I'm thinking about are - email reminders - garbage collection - updating syndicated content from other sites
Anybody have other examples with other use patterns?
- promoting new or updated content through develop, test, production status - spamming users when new content gets published - notifying content maintainers of irate feedback (after spamming users)" from: http://lists.zope.org/pipermail/zope-dev/2000-February/003220.html Later, Jerry S.