Cron-Alternative
Die Einfachheit von cron behalten. Die nötigen Produktionskontrollen hinzufügen.
Dagu hält Zeitpläne nah an Ihren Skripten und ergänzt sie um Abhängigkeitsgraphen, Retries, Logs, Historie, manuelle Reruns und Web UI.
name: nightly-ops
schedule: "0 2 * * *"
steps:
- id: extract
run: python scripts/extract.py
- id: transform
run: ./bin/transform
retry_policy:
limit: 3
depends: [extract]
- id: notify
run: ./scripts/slack-success.sh
depends: [transform]Cron-artige Zeitpläne in YAML
Schritt-Abhängigkeiten statt Shell-Ketten
Fehlgeschlagene Schritte ohne SSH neu starten
Historie und Logs in einer Web UI
At a glance
Cron vs. Dagu
Natives Schritt-Graph-Modell.
Shell-Ketten, Lock-Dateien und Wrapper-Skripte.
Retry-Policies pro Schritt.
Eigene Schleifen oder manuelle Reruns.
Web UI, Logs, Status und Historie.
Systemlogs und selbstgebaute Konventionen.
In depth
Where each tool fits
Cron ist einfach, bis Jobs voneinander abhängen
Sobald ein geplanter Job Retries, Output-Erfassung, Ausführungsreihenfolge oder Historie braucht, wird cron schnell zu einem Stapel Wrapper-Skripte.
- Jeden Befehl als benannten Schritt modellieren
- Abhängigkeiten statt langer Shell-Ketten verwenden
- Fehlerausgaben prüfen und per Web UI neu starten
Keine Plattformmigration nötig
Dagu führt die Skripte aus, die Sie schon haben. Die erste Migration kann mit einem einzigen Nachtjob beginnen.
- Bash-, Python-, Go-, Java-, PHP- oder Perl-Jobs beibehalten
- Zeitpläne in versioniertes YAML verschieben
- Timeouts und Retry-Policies schrittweise ergänzen
Operative Sichtbarkeit von Anfang an
Dagu bündelt den Laufzeitstatus, den cron sonst über Syslog, eigene Dateien und Teamwissen verteilt.
- Aktuellen Status, Historie und Logs ansehen
- Manuell starten, ohne sich am Host anzumelden
- Benachrichtigungen und Folgeschritte für Fehler nutzen
FAQ
Practical questions before adopting Dagu
Kann Dagu Cron-Syntax verwenden?
Ja. Dagu kann vertraute Cron-Ausdrücke nutzen und ergänzt sie um Workflow-Zustand und Schrittkontrolle.
Muss ich meine Cron-Skripte umschreiben?
Nein. Setzen Sie den bestehenden Befehl in einen Dagu-Schritt und ergänzen Sie dann bei Bedarf Abhängigkeiten, Retries und Benachrichtigungen.
Braucht Dagu Kubernetes?
Nein. Dagu kann als einzelner Prozess auf einer normalen Maschine laufen und später verteilt skaliert werden.
Next step
Start with one workflow.
Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.