I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements:
- Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and must be fired after restarting.
- Jobs must enter and exit the scheduler in a transaction (i.e. if some database operation fail, in a database unrelated to the scheduler, then the job must not have exited or entered the scheduler).
- Scalability. Depends on the measure of success of the project, but I would prefer to know from the beggining that I am not starting from a dead end.
- Configurability: when tasks expire, how many can be fired simultaneously, etc.
Any recommendations? Is there something python specific, or is it possible (or even good) to interface to Quartz from python.