Cron Jobs
جدولة المهام التلقائية للوكيل. قم بتشغيل أوامر أو مطالبات في أوقات محددة أو فترات دورية.
متى تستخدم Cron
- مهام دورية في أوقات محددة ("كل يوم الساعة 9 صباحاً")
- تقارير/ملخصات مجدولة
- النسخ الاحتياطي التلقائي
- تذكيرات لمرة واحدة ("في 20 دقيقة")
إنشاء Cron Job
openclaw cron add \ --schedule "0 9 * * MON" \ --prompt "إرسال تقرير أسبوعي" \ --channel telegram
صيغة الجدول (Cron Syntax)
دقيقة ساعة يوم_الشهر شهر يوم_الأسبوع * * * * * أمثلة: 0 9 * * * # كل يوم الساعة 9 صباحاً 0 0 * * SUN # كل أحد منتصف الليل */15 * * * * # كل 15 دقيقة 0 18 * * MON-FRI # أيام الأسبوع الساعة 6 مساءً
إدارة Cron Jobs
قائمة Jobs
openclaw cron list
حذف Job
openclaw cron remove <job-id>
إيقاف/تشغيل مؤقت
openclaw cron disable <job-id> openclaw cron enable <job-id>
أمثلة عملية
تقرير صباحي يومي
openclaw cron add \ --schedule "0 8 * * *" \ --prompt "إرسال ملخص الطقس وأهم الأخبار اليوم" \ --channel telegram
نسخة احتياطية أسبوعية
openclaw cron add \ --schedule "0 0 * * SUN" \ --command "tar -czf backup-$(date +%Y%m%d).tar.gz ~/important"
تذكير لمرة واحدة
openclaw cron add \ --at "+20m" \ --prompt "تذكير: اتصل بالعميل" \ --channel telegram
Cron vs Heartbeat
استخدم Cron عندما:
- التوقيت الدقيق مهم
- المهمة تحتاج عزل
- تريد نموذج/مستوى تفكير مختلف
- تذكيرات لمرة واحدة
استخدم Heartbeat عندما:
- فحوصات متعددة يمكن دمجها
- تحتاج سياق المحادثة الأخير
- التوقيت يمكن أن ينحرف قليلاً
- تريد تقليل استدعاءات API
نصيحة
ادمج الفحوصات الدورية المتشابهة في HEARTBEAT.md بدلاً من إنشاء cron jobs متعددة. هذا يوفر استدعاءات API ويحافظ على السياق.
الإعدادات
{
agents: {
defaults: {
cron: {
enabled: true,
maxJobs: 50,
timezone: "UTC"
}
}
}
}الأمان
- Cron jobs تعمل في سياق الوكيل مع نفس الأذونات
- تجنب وضع معلومات حساسة في الأوامر
- راجع قائمة jobs بانتظام
- استخدم قنوات آمنة فقط للتقارير