اختر الصدفة مرة واحدة، أو لكل خطوة
يعلن مسار العمل صدفته وترثها جميع الخطوات. وبدون إعلان يفضّل Dagu ترتيب PowerShell ثم pwsh ثم cmd.exe، فيتصرف المسار المكتوب على جهاز بشكل متوقَّع على جهاز آخر.
- تقبل الصدفة نصًا أو مصفوفة؛ وصيغة المصفوفة تتجنب مشكلات علامات الاقتباس مع وسائط مثل -NoProfile
- تلتقط الخطوة مخرجاتها في متغيّر مسمّى تستطيع الخطوات اللاحقة والشروط المسبقة قراءته
- تتحكم الشروط المسبقة بالخطوة عبر تلك القيمة، فلا تحدث إعادة التشغيل إلا إذا كانت الخدمة متوقفة فعلًا
# service-health.yaml
schedule: "*/15 * * * *"
max_active_runs: 1
shell: powershell -NoProfile
steps:
- id: check_service
run: |
(Get-Service -Name 'MyAppSvc').Status
output: SVC_STATUS
- id: restart_if_stopped
run: Restart-Service -Name 'MyAppSvc'
depends: check_service
preconditions:
- condition: "${SVC_STATUS}"
expected: "Stopped"
retry_policy:
limit: 2
interval_sec: 30
mail_on:
failure: true