Is there a full featured, job scheduling package available for PHP? I'm looking for the PHP equivalent to Java's Quartz. I'm fine having things triggered externally from cron to drive the system. The functionality I'd be looking for:
- Ability to register task (class/method) to be called at given intervals.
- Ability to specify whether a given task can be run multiple times (potentially long running methods should not be run multiple times in certain cases).
- All registered entries/methods could be run in parallel (jobs are backgrounded so that they do not block other timed tasks).
- Ability to set a timeout for a given task.
- Ability to update job control dynamically, so for instance you could disable some tasks or change their frequency without code changes.
I know it is a lot to ask, but it seems like a useful batch of features and I thought someone might have put together some portion of them.
If this or some portion of this does not already exist, any pointers to putting one together or an open source project that has a reasonably featureful implementation of some subset of these?