Forum OpenACS Development: Re: New Specification for Cron Package

Posted by Andrew Piskorski on
Tom, I think this is completely out of scope for your proposed changes, but what I would really like to see is an automated scheduler that understands dependencies. So you could say things like, "Run this job once those other two jobs completed successfully and returned status code 'foo'."

I'm not thinking about just reports here, but rather, also scheduled data collection, manipulation and maintenance of batch data feeds, that sort of thing - in short, automation of all sorts. Here are some made up examples: "Get the current bid and ask prices of IBM every 10 minutes."; "Every month, roll over futures to the new contracts, then remind the humans."

Likely the Workflow package would be a very useful there, but I haven't used it yet so I can't really say.

Also, there are various other unix systems out there that have a model of dependencies (various replacements for System V style init boot scripts, etc.), but I don't know how any of those approach the problem, or if they're relevent.

Posted by Tom Jackson on

Andrew, one change is the addition of logging. I only have a simple table for now, but possibly a return status could be added. Then you would need to query that table somehow to check what happened. Maybe another alternative it to provide a post script callback. Actually the cron_notification_types table will probably work as a callback mechanism. In addition, the archive_type and archive_data fields of the cron_scripts table might be useful to consider. Maybe one archive type would be kick off another script? Bottom line: I will probably have two or three of these types of things built in, so adding another might not be that hard.

Also, note that the script type is going to be expandable. Essentially anything you can run on your box, you can schedule (umm, or will be able).

If you come across any additional ideas on how other systems work, which you like, please pass them along.