Alternative à cron
Gardez la simplicité de cron et ajoutez les contrôles qu'exige la production.
Dagu garde les plannings proches de vos scripts tout en ajoutant graphe de dépendances, retries, logs, historique, relances manuelles et 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]Plannings de style cron en YAML
Dépendances d'étapes au lieu de chaînes shell
Relance des étapes échouées sans SSH manuel
Historique et logs dans une Web UI
At a glance
Cron vs. Dagu
Graphe d'étapes natif.
Chaînes shell, fichiers lock et scripts wrappers.
Politiques de retry par étape.
Boucles personnalisées ou relances manuelles.
Web UI, logs, statut et historique.
Logs système et conventions artisanales.
In depth
Where each tool fits
Cron reste simple jusqu'à ce que les jobs dépendent les uns des autres
Dès qu'un script planifié a besoin de retries, de capture de sortie, d'ordre d'exécution ou d'historique lisible, cron devient un empilement de wrappers.
- Modélisez chaque commande comme une étape nommée
- Utilisez des dépendances plutôt que de longues chaînes shell
- Inspectez la sortie échouée et relancez depuis la Web UI
Pas besoin de migration de plateforme
Dagu exécute vos scripts existants. La première migration peut commencer par un seul job nocturne.
- Gardez Bash, Python, Go, Java, PHP ou Perl
- Déplacez les plannings dans du YAML versionné
- Ajoutez timeouts et retries progressivement
La visibilité opérationnelle par défaut
Dagu rassemble l'état d'exécution que cron disperse d'habitude dans syslog, des fichiers maison et la mémoire de l'équipe.
- Consultez état courant, historique et logs
- Lancez manuellement sans vous connecter à l'hôte
- Utilisez notifications et étapes aval pour gérer les échecs
FAQ
Practical questions before adopting Dagu
Dagu supporte-t-il la syntaxe cron ?
Oui. Vous pouvez conserver des expressions cron familières tout en gagnant un état d'exécution et des contrôles de workflow.
Faut-il réécrire les scripts cron ?
Non. Placez simplement la commande existante dans une étape Dagu puis ajoutez dépendances, retries et notifications si nécessaire.
Kubernetes est-il nécessaire ?
Non. Dagu peut démarrer comme un seul processus sur une machine classique, puis évoluer vers l'exécution distribuée si besoin.
Next step
Start with one workflow.
Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.