أتمتة المهام الزمنية مع OpenClaw: دليل شامل لـ Cron Jobs

أتمتة المهام الزمنية مع OpenClaw: دليل شامل لـ Cron Jobs

ما ستتعلمه في هذا المقال: يشرح هذا الدليل الشامل كيفية استخدام نظام Cron Jobs في أوبن كلاو (OpenClaw) لجدولة المهام التلقائية. ستتعلم أنواع الجدولة المختلفة (at, every, cron expressions)، أنواع المهام (systemEvent, agentTurn)، و10 سيناريوهات عملية من التذكيرات البسيطة إلى التقارير الأسبوعية المعقدة.

هل سبق لك أن تمنيت لو كان لديك مساعد شخصي يذكرك بالمواعيد، يفحص بريدك الإلكتروني تلقائياً، أو ينشر محتوى على وسائل التواصل في أوقات محددة؟ مع نظام Cron Jobs في أوبن كلاو (OpenClaw)، كل هذا ممكن وأكثر.

ما هي Cron Jobs في أوبن كلاو (OpenClaw)؟

Cron Jobs هي مهام مجدولة تعمل تلقائياً في أوقات محددة أو بفترات متكررة. على عكس الأوامر اليدوية، تعمل هذه المهام في الخلفية دون تدخل بشري.

الفرق بين Cron و Heartbeat

أوبن كلاو (OpenClaw) يوفر آليتين للمهام الدورية:

  • Heartbeat: فحوصات خفيفة متكررة (كل 30 دقيقة تقريباً) للمهام البسيطة
  • Cron Jobs: جدولة دقيقة بالوقت المحدد للمهام المعقدة أو الحرجة

استخدم Heartbeat عندما:

  • التوقيت يمكن أن يختلف قليلاً (±5-10 دقائق مقبول)
  • تريد دمج فحوصات متعددة في دورة واحدة
  • تحتاج سياق المحادثة الأخيرة

استخدم Cron عندما:

  • التوقيت الدقيق مهم ("الساعة 9:00 صباحاً بالضبط كل إثنين")
  • المهمة تحتاج عزل عن سجل الجلسة الرئيسية
  • تريد استخدام نموذج AI مختلف أو مستوى تفكير خاص
  • تذكيرات لمرة واحدة ("ذكرني بعد 20 دقيقة")

أنواع الجدولة في أوبن كلاو (OpenClaw)

1. الجدولة بوقت محدد (At Schedule)

لتنفيذ مهمة مرة واحدة في وقت محدد:

{
  "kind": "at",
  "at": "2026-02-16T09:00:00Z"
}

أمثلة عملية:

  • إرسال بريد إلكتروني في وقت محدد
  • نشر تغريدة في وقت الذروة
  • تذكير قبل اجتماع بساعة

2. الجدولة المتكررة (Every Schedule)

للمهام المتكررة بفترات زمنية ثابتة:

{
  "kind": "every",
  "everyMs": 3600000,
  "anchorMs": 1739696400000
}

أمثلة:

  • فحص البريد كل 30 دقيقة: everyMs: 1800000
  • تقرير يومي كل 24 ساعة: everyMs: 86400000
  • مراقبة مستمرة كل 5 دقائق: everyMs: 300000

3. تعبيرات Cron (Cron Expression)

للجدولة المعقدة باستخدام صيغة Cron الكلاسيكية:

{
  "kind": "cron",
  "expr": "0 9 * * 1-5",
  "tz": "Europe/Paris"
}

أمثلة شائعة:

التعبيرالوصف
0 9 * * *يومياً الساعة 9:00 صباحاً
0 9 * * 1-5أيام العمل (إثنين-جمعة) 9:00 ص
*/30 * * * *كل 30 دقيقة
0 0 1 * *أول يوم من كل شهر منتصف الليل
0 18 * * 5كل جمعة الساعة 6:00 مساءً

💡 نصيحة: استخدم crontab.guru لبناء واختبار تعبيرات Cron.

أنواع المهام (Payload Types)

System Event

حقن رسالة نصية في الجلسة الرئيسية:

{
  "kind": "systemEvent",
  "text": "تذكير: اجتماع الفريق بعد 15 دقيقة"
}

الاستخدام: تذكيرات بسيطة، إشعارات، أحداث النظام.

Agent Turn

تشغيل وكيل AI في جلسة معزولة:

{
  "kind": "agentTurn",
  "message": "افحص البريد الإلكتروني وأرسل ملخص الرسائل المهمة",
  "model": "sonnet",
  "thinking": "high",
  "timeoutSeconds": 300
}

الاستخدام: مهام معقدة، تقارير آلية، تحليل بيانات.

أمثلة عملية: 10 سيناريوهات حقيقية

1. تذكير يومي بفحص البريد

openclaw cron add \
  --name "فحص البريد الصباحي" \
  --schedule-cron "0 9 * * 1-5" \
  --schedule-tz "Europe/Paris" \
  --payload-agent "افحص بريدي الإلكتروني وأرسل ملخص الرسائل غير المقروءة المهمة" \
  --session isolated

2. تقرير أسبوعي تلقائي

openclaw cron add \
  --name "تقرير أسبوعي" \
  --schedule-cron "0 18 * * 5" \
  --payload-agent "اجمع إحصائيات الأسبوع من GitHub وأرسل تقرير عبر Telegram" \
  --delivery-mode announce \
  --delivery-channel telegram

3. تذكير لمرة واحدة

openclaw cron add \
  --name "تذكير اجتماع" \
  --schedule-at "2026-02-16T14:45:00+01:00" \
  --payload-system "🔔 تذكير: اجتماع مع العميل بعد 15 دقيقة" \
  --session main

4. نسخ احتياطي يومي

openclaw cron add \
  --name "نسخ احتياطي" \
  --schedule-cron "0 2 * * *" \
  --payload-agent "قم بنسخ احتياطي للمشاريع في ~/projets إلى Google Drive" \
  --session isolated

5. مراقبة الأسعار

openclaw cron add \
  --name "مراقبة أسعار العملات" \
  --schedule-every 3600000 \
  --payload-agent "افحص سعر BTC/USD، إذا تجاوز $100,000 أرسل تنبيه فوري" \
  --session isolated

إدارة Cron Jobs

عرض جميع المهام

openclaw cron list

للمهام المعطلة أيضاً:

openclaw cron list --include-disabled

تشغيل مهمة يدوياً

openclaw cron run --job-id abc123

تحديث مهمة موجودة

openclaw cron update \
  --job-id abc123 \
  --patch '{"enabled": false}'

حذف مهمة

openclaw cron remove --job-id abc123

عرض سجل التنفيذ

openclaw cron runs --job-id abc123

نصائح متقدمة

1. التسليم الذكي (Delivery)

للمهام المعزولة، يمكنك تحديد كيفية إرسال النتائج:

{
  "delivery": {
    "mode": "announce",
    "channel": "telegram",
    "to": "@BobDegen",
    "bestEffort": true
  }
}

2. استخدام نماذج مختلفة

للمهام البسيطة، استخدم نموذج أقل تكلفة:

{
  "payload": {
    "kind": "agentTurn",
    "message": "فحص سريع للبريد",
    "model": "haiku"
  }
}

للمهام المعقدة:

{
  "payload": {
    "kind": "agentTurn",
    "message": "تحليل معقد للبيانات",
    "model": "opus",
    "thinking": "high"
  }
}

3. المناطق الزمنية

مهم جداً: التواريخ ISO-8601 بدون منطقة زمنية تعامل كـ UTC!

// ❌ خطأ (سيكون UTC)
"at": "2026-02-16T09:00:00"

// ✅ صحيح
"at": "2026-02-16T09:00:00+01:00"  // باريس شتاء

للـ Cron، استخدم tz:

{
  "kind": "cron",
  "expr": "0 9 * * *",
  "tz": "Europe/Paris"
}

الأخطاء الشائعة وحلولها

خطأ: المهمة لا تعمل

الأسباب الشائعة:

  1. المهمة معطلة (enabled: false)
  2. خطأ في تعبير Cron
  3. المنطقة الزمنية خاطئة
  4. نوع payload غير متوافق مع sessionTarget

الحل:

# فحص حالة المهمة
openclaw cron list --include-disabled

# تحديث وتفعيل
openclaw cron update --job-id abc123 --patch '{"enabled": true}'

خطأ: "sessionTarget=main requires systemEvent"

السبب: جلسات main تقبل فقط systemEvent، ليس agentTurn.

الحل:

# استخدم isolated للمهام المعقدة
--session isolated --payload-agent "..."

# أو استخدم main للتذكيرات البسيطة
--session main --payload-system "تذكير: ..."

الخلاصة

نظام Cron Jobs في أوبن كلاو (OpenClaw) يحول مساعدك الشخصي من أداة تفاعلية إلى نظام أتمتة كامل يعمل 24/7.

الفوائد الرئيسية:

  • ⏰ جدولة دقيقة بالثانية
  • 🤖 تشغيل مهام AI معقدة تلقائياً
  • 📊 تقارير وإشعارات آلية
  • 🔄 أتمتة كاملة لسير العمل
  • 💰 توفير الوقت والجهد

الأسئلة الشائعة

ما الفرق بين Cron وHeartbeat في أوبن كلاو (OpenClaw)؟ Heartbeat للفحوصات الخفيفة المتكررة (كل ~30 دقيقة) مع سياق المحادثة. Cron للمهام بتوقيت دقيق أو معزولة عن الجلسة الرئيسية.

كم عدد Cron Jobs التي يمكنني إنشاؤها في أوبن كلاو (OpenClaw)؟ لا يوجد حد مدمج. لكن كل مهمة agentTurn تستهلك API calls، لذا راقب استخدامك.

هل يمكن إرسال نتائج Cron Job إلى Telegram أو WhatsApp؟ نعم، استخدم خيار --delivery-mode announce --delivery-channel telegram لإرسال النتائج تلقائياً.

كيف أتعامل مع المناطق الزمنية في Cron Jobs؟ استخدم --schedule-tz "Europe/Paris" مع تعبيرات cron، أو أضف offset المنطقة الزمنية للتواريخ مثل +01:00.


موارد إضافية:

هل كان هذا المقال مفيداً؟ شاركه مع أصدقائك المهتمين بالأتمتة! 💙