Cron alternative
Cron की सादगी रखें, लेकिन production वाले controls जोड़ें.
Dagu schedules को आपके scripts के करीब रखता है और dependencies, retries, logs, history, manual reruns और 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]YAML में cron-style schedules
Shell chains की जगह step dependencies
Manual SSH के बिना failed steps rerun करें
Web UI में history और logs देखें
At a glance
Cron बनाम Dagu
Native step graph.
Shell chains, lock files और wrappers.
Per-step retry policies.
Custom loops या manual reruns.
Web UI, logs, status और history.
System logs और hand-built conventions.
In depth
Where each tool fits
Jobs के बीच dependency आते ही cron कठिन हो जाता है
जैसे ही scheduled script को retries, output capture, execution order या readable history चाहिए, cron wrapper scripts के ढेर में बदल जाता है.
- हर command को named step बनाइए
- Long shell chains की जगह dependencies इस्तेमाल करें
- Failed output देखें और Web UI से rerun करें
Platform migration की ज़रूरत नहीं
Dagu वही scripts चलाता है जो आपके पास पहले से हैं। पहली migration सिर्फ एक nightly job से शुरू हो सकती है.
- Bash, Python, Go, Java, PHP या Perl jobs बनाए रखें
- Schedules को versioned YAML में ले जाएँ
- Timeouts और retries धीरे-धीरे जोड़ें
Operational visibility डिफ़ॉल्ट रूप से
Dagu run state को एक जगह लाता है, जिसे cron आम तौर पर syslog, custom files और tribal knowledge में बिखेर देता है.
- Current status, history और logs देखें
- Host में लॉगिन किए बिना manual runs करें
- Failures संभालने के लिए notifications और downstream steps इस्तेमाल करें
FAQ
Practical questions before adopting Dagu
क्या Dagu cron syntax सपोर्ट करता है?
हाँ। आप familiar cron expressions इस्तेमाल कर सकते हैं और साथ में workflow state तथा step controls भी पा सकते हैं.
क्या मुझे cron scripts फिर से लिखनी होंगी?
नहीं। Existing command को Dagu step में रखें और ज़रूरत के अनुसार dependencies, retries और notifications जोड़ें.
क्या Kubernetes चाहिए?
नहीं। Dagu एक साधारण machine पर single process के रूप में शुरू हो सकता है और बाद में distributed execution तक बढ़ सकता है.
Next step
Start with one workflow.
Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.