Альтернатива cron

Сохраните простоту cron и добавьте нужный production-контроль.

Dagu оставляет расписания рядом с вашими скриптами и добавляет граф зависимостей, ретраи, логи, историю, ручной rerun и Web UI.

От строки cron к 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]

Cron-подобные расписания в YAML

Зависимости шагов вместо shell-цепочек

Перезапуск проваленных шагов без SSH

История и логи в Web UI

At a glance

Cron vs. Dagu

Зависимости
Dagu

Полноценный граф шагов.

Typical alternative

Shell-цепочки, lock-файлы и wrapper-скрипты.

Ретраи
Dagu

Политики ретраев на уровне шага.

Typical alternative

Самописные циклы или ручной перезапуск.

Видимость
Dagu

Web UI, логи, статус и история.

Typical alternative

Системные логи и ручные соглашения.

In depth

Where each tool fits

01

Cron прост, пока задачи не зависят друг от друга

Как только нужны ретраи, захват вывода, порядок выполнения или история, cron быстро превращается в набор оберток.

  • Описывайте каждую команду как именованный шаг
  • Используйте зависимости вместо длинных shell-цепочек
  • Смотрите вывод и rerun через Web UI
02

Не нужна миграция на платформу

Dagu запускает ваши существующие скрипты. Первая миграция может ограничиться одной ночной задачей.

  • Сохраняйте Bash, Python, Go, Java, PHP и Perl задачи
  • Переносите расписания в версионируемый YAML
  • Добавляйте таймауты и ретраи постепенно
03

Операционная видимость по умолчанию

Dagu собирает состояние, которое cron обычно разбрасывает по syslog, файлам и устным договоренностям.

  • Смотрите текущий статус, историю и логи
  • Запускайте вручную без входа на хост
  • Используйте notifications и downstream steps для обработки ошибок

FAQ

Practical questions before adopting Dagu

Поддерживает ли Dagu cron-синтаксис?

Да. Вы можете использовать привычные cron-выражения и при этом получить состояние workflow и контроль над шагами.

Нужно ли переписывать cron-скрипты?

Нет. Поместите существующую команду в шаг Dagu и затем постепенно добавляйте зависимости, ретраи и уведомления.

Нужен ли Kubernetes?

Нет. Dagu может работать как один процесс на обычной машине. Распределенное выполнение добавляется при необходимости.

Next step

Start with one workflow.

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