Alternativa a cron

Conserva la simplicidad de cron y añade los controles que exige producción.

Dagu mantiene los horarios cerca de tus scripts mientras añade grafos de dependencias, retries, logs, historial, reruns manuales y Web UI.

De una línea de cron a un workflow
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]

Horarios estilo cron en YAML

Dependencias de pasos en lugar de cadenas shell

Rerun de pasos fallidos sin SSH manual

Historial y logs en una Web UI

At a glance

Cron vs. Dagu

Dependencias
Dagu

Grafo nativo de pasos.

Typical alternative

Cadenas shell, archivos lock y wrappers.

Retries
Dagu

Políticas de retry por paso.

Typical alternative

Bucles personalizados o reruns manuales.

Visibilidad
Dagu

Web UI, logs, estado e historial.

Typical alternative

Logs del sistema y convenciones manuales.

In depth

Where each tool fits

01

Cron es simple hasta que los jobs dependen entre sí

En cuanto un script programado necesita retries, captura de salida, orden de ejecución o historial legible, cron se convierte en un montón de wrappers.

  • Modela cada comando como un paso con nombre
  • Usa dependencias en lugar de largas cadenas shell
  • Inspecciona la salida fallida y relanza desde la Web UI
02

No hace falta migrar a una plataforma

Dagu ejecuta los scripts que ya tienes. La primera migración puede empezar por un solo job nocturno.

  • Mantén jobs en Bash, Python, Go, Java, PHP o Perl
  • Lleva los horarios a YAML versionado
  • Añade timeouts y retries de forma gradual
03

Visibilidad operativa por defecto

Dagu reúne el estado de ejecución que cron suele dispersar entre syslog, archivos propios y conocimiento tribal.

  • Consulta estado actual, historial y logs
  • Lanza ejecuciones manuales sin entrar al host
  • Usa notificaciones y pasos posteriores para manejar fallos

FAQ

Practical questions before adopting Dagu

¿Dagu soporta sintaxis cron?

Sí. Puedes definir horarios con expresiones cron conocidas y al mismo tiempo obtener estado de workflow y control por paso.

¿Tengo que reescribir mis scripts cron?

No. Coloca el comando existente en un paso de Dagu y añade dependencias, retries y notificaciones cuando lo necesites.

¿Necesita Kubernetes?

No. Dagu puede empezar como un solo proceso en una máquina normal y escalar a ejecución distribuida cuando haga falta.

Next step

Start with one workflow.

Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.