Wie bekomme ich einen Cron-ähnlichen Scheduler in Python?

| |

Ich suche nach einer Bibliothek in Python, die at- und cron-ähnliche Funktionen bereitstellt.

Ich hätte gerne eine reine Python-Lösung, anstatt sich auf Tools zu verlassen, die auf der Box installiert sind; auf diese Weise laufe ich auf Rechnern ohne Cron.

Für diejenigen, die mit cron nicht vertraut sind: Sie können Aufgaben basierend auf einem Ausdruck planen wie:

 0 2 * * 7 /usr/bin/run-backup # Führen Sie die Sicherungen jeden Sonntag um 0200 aus 0 9-17/2 * * 1-5 /usr/bin/purge-temps # Führen Sie den Befehl zum Löschen von Temps aus, alle 2 Stunden von Montag bis Freitag zwischen 9:00 und 17:00 Uhr. 

Die Crontime-Ausdruckssyntax ist weniger wichtig, aber ich hätte gerne etwas mit dieser Art von Flexibilität.

Wenn es nicht etwas gibt, das dies sofort für mich erledigt, würden alle Vorschläge für die Bausteine, um so etwas zu machen, dankbar entgegengenommen.

Bearbeiten Ich bin nicht daran interessiert, Prozesse zu starten, nur "Jobs", die ebenfalls in Python geschrieben sind - Python-Funktionen. Ich denke zwangsläufig, dass dies ein anderer Thread wäre, aber nicht in einem anderen Prozess.

Zu diesem Zweck suche ich nach der Expressivität des Cron-Zeitausdrucks, aber in Python.

Cron gibt es seit Jahren, aber ich versuche, so portabel wie möglich zu sein. Ich kann mich nicht auf seine Anwesenheit verlassen.