---
read_when:
    - أنت تريد مهام مجدولة وعمليات إيقاظ
    - أنت تستكشف أخطاء تنفيذ Cron والسجلات وإصلاحها
summary: مرجع CLI لـ `openclaw cron` (جدولة وتشغيل المهام في الخلفية)
title: Cron
x-i18n:
    generated_at: "2026-04-23T07:21:58Z"
    model: gpt-5.4
    provider: openai
    source_hash: f5216f220748b05df5202af778878b37148d6abe235be9fe82ddcf976d51532a
    source_path: cli/cron.md
    workflow: 15
---

# `openclaw cron`

إدارة مهام Cron لجدولة Gateway.

ذو صلة:

- مهام Cron: [مهام Cron](/ar/automation/cron-jobs)

نصيحة: شغّل `openclaw cron --help` للحصول على سطح الأوامر الكامل.

ملاحظة: يعرض `openclaw cron list` و `openclaw cron show <job-id>` معاينة لمسار التسليم
بعد resolve. بالنسبة إلى `channel: "last"`، تعرض المعاينة ما إذا كان
المسار قد تم resolve له من الجلسة الرئيسية/الحالية أو ما إذا كان سيفشل بشكل مغلق.

ملاحظة: تستخدم مهام `cron add` المعزولة افتراضيًا تسليم `--announce`.
استخدم `--no-deliver` للإبقاء على المخرجات داخلية. لا يزال `--deliver` اسمًا مستعارًا مهملًا لـ `--announce`.

ملاحظة: تسليم دردشة Cron المعزول مشترك. يمثّل `--announce` تسليم الرجوع الاحتياطي
من المشغّل للرد النهائي؛ ويعطّل `--no-deliver` هذا الرجوع الاحتياطي لكنه
لا يزيل أداة `message` الخاصة بالوكيل عندما يكون مسار دردشة متاحًا.

ملاحظة: تُحذف مهام التنفيذ لمرة واحدة (`--at`) بعد النجاح افتراضيًا. استخدم `--keep-after-run` للإبقاء عليها.

ملاحظة: يدعم `--session` القيم `main` و `isolated` و `current` و `session:<id>`.
استخدم `current` للربط بالجلسة النشطة وقت الإنشاء، أو `session:<id>` من أجل
مفتاح جلسة دائم صريح.

ملاحظة: بالنسبة إلى مهام CLI لمرة واحدة، تُعامل تواريخ وأوقات `--at` من دون إزاحة على أنها UTC ما لم تمرّر أيضًا
`--tz <iana>`، الذي يفسّر ذلك الوقت المحلي وفق الساعة الجدارية في المنطقة الزمنية المحددة.

ملاحظة: تستخدم المهام المتكررة الآن تراجعًا أسيًا لإعادة المحاولة بعد الأخطاء المتتالية (30s → 1m → 5m → 15m → 60m)، ثم تعود إلى الجدول العادي بعد أول تنفيذ ناجح تالٍ.

ملاحظة: يُرجع `openclaw cron run` الآن بمجرد وضع التنفيذ اليدوي في قائمة الانتظار للتنفيذ. تتضمن الاستجابات الناجحة `{ ok: true, enqueued: true, runId }`؛ استخدم `openclaw cron runs --id <job-id>` لمتابعة النتيجة النهائية.

ملاحظة: يفرض `openclaw cron run <job-id>` التنفيذ افتراضيًا. استخدم `--due` للحفاظ على
السلوك الأقدم "شغّل فقط إذا كان مستحقًا".

ملاحظة: تمنع دورات Cron المعزولة الردود القديمة التي تكون مجرد إقرار. إذا كانت
أول نتيجة مجرد تحديث حالة مؤقت ولم يكن أي تشغيل لوكيل فرعي تابع
مسؤولًا عن الإجابة النهائية، فإن Cron يعيد الطلب مرة واحدة للحصول على النتيجة الحقيقية
قبل التسليم.

ملاحظة: إذا أعاد تنفيذ Cron معزول الرمز الصامت فقط (`NO_REPLY` /
`no_reply`)، فإن Cron يمنع التسليم الصريح المباشر إلى الخارج وكذلك مسار
الملخص الموضوع في قائمة الانتظار احتياطيًا، لذلك لن يتم نشر أي شيء مرة أخرى في الدردشة.

ملاحظة: يستخدم `cron add|edit --model ...` ذلك النموذج المسموح المحدد للمهمة.
إذا لم يكن النموذج مسموحًا، يحذّر Cron ويعود إلى اختيار
النموذج الافتراضي للمهمة/الوكيل بدلًا من ذلك. تظل سلاسل الرجوع الاحتياطي المضبوطة مطبقة، لكن
تجاوز نموذج عادي من دون قائمة رجوع احتياطي صريحة لكل مهمة لم يعد يضيف
النموذج الأساسي للوكيل كهدف إعادة محاولة إضافي مخفي.

ملاحظة: أولوية النموذج في Cron المعزول هي أولًا تجاوز Gmail-hook، ثم
`--model` لكل مهمة، ثم أي تجاوز نموذج مخزن لجلسة Cron، ثم
الاختيار الافتراضي/العادي للوكيل.

ملاحظة: يتبع الوضع السريع في Cron المعزول اختيار النموذج المباشر بعد resolve.
يُطبّق إعداد النموذج `params.fastMode` افتراضيًا، لكن تجاوز `fastMode`
المخزن في الجلسة يظل له الأولوية على الإعداد.

ملاحظة: إذا طرح تنفيذ معزول الخطأ `LiveSessionModelSwitchError`، فإن Cron يحفظ
المزوّد/النموذج المُبدَّل (وكذلك تجاوز ملف تعريف المصادقة المُبدَّل عند وجوده) قبل
إعادة المحاولة. تكون حلقة إعادة المحاولة الخارجية مقيّدة بمحاولتي تبديل بعد المحاولة
الأولى، ثم تُجهض بدلًا من الاستمرار إلى ما لا نهاية.

ملاحظة: تستخدم إشعارات الفشل `delivery.failureDestination` أولًا، ثم
`cron.failureDestination` العامة، ثم ترجع أخيرًا إلى هدف
الإعلان الأساسي للمهمة عندما لا يكون هناك وجهة فشل صريحة مضبوطة.

ملاحظة: يتم التحكم في الاحتفاظ/التقليم في التكوين:

- `cron.sessionRetention` (الافتراضي `24h`) يزيل جلسات التنفيذ المعزولة المكتملة.
- `cron.runLog.maxBytes` + `cron.runLog.keepLines` يقلّمان الملف `~/.openclaw/cron/runs/<jobId>.jsonl`.

ملاحظة ترقية: إذا كانت لديك مهام Cron أقدم من تنسيق التسليم/التخزين الحالي، فشغّل
`openclaw doctor --fix`. يقوم Doctor الآن بتطبيع حقول Cron القديمة (`jobId` و `schedule.cron`،
وحقول التسليم ذات المستوى الأعلى بما في ذلك `threadId` القديم، والأسماء المستعارة لتسليم `provider` ضمن الحمولة) وينقل مهام الرجوع الاحتياطي البسيطة لـ Webhook من النوع
`notify: true` إلى تسليم Webhook صريح عندما يكون `cron.webhook`
مضبوطًا.

## تعديلات شائعة

حدّث إعدادات التسليم من دون تغيير الرسالة:

```bash
openclaw cron edit <job-id> --announce --channel telegram --to "123456789"
```

عطّل التسليم لمهمة معزولة:

```bash
openclaw cron edit <job-id> --no-deliver
```

فعّل سياق bootstrap خفيفًا لمهمة معزولة:

```bash
openclaw cron edit <job-id> --light-context
```

أعلن إلى قناة محددة:

```bash
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
```

أنشئ مهمة معزولة بسياق bootstrap خفيف:

```bash
openclaw cron add \
  --name "Lightweight morning brief" \
  --cron "0 7 * * *" \
  --session isolated \
  --message "Summarize overnight updates." \
  --light-context \
  --no-deliver
```

ينطبق `--light-context` على مهام دورات الوكيل المعزولة فقط. بالنسبة إلى تنفيذات Cron، يبقي الوضع الخفيف سياق bootstrap فارغًا بدلًا من حقن مجموعة bootstrap الكاملة لمساحة العمل.

ملاحظة ملكية التسليم:

- تسليم دردشة Cron المعزول مشترك. يمكن للوكيل الإرسال مباشرة باستخدام
  أداة `message` عندما يكون مسار دردشة متاحًا.
- يقوم `announce` بتسليم الرد النهائي احتياطيًا فقط عندما لا يرسل الوكيل
  مباشرة إلى الهدف بعد resolve. يقوم `webhook` بنشر الحمولة المكتملة إلى عنوان URL.
  ويعطّل `none` تسليم الرجوع الاحتياطي من المشغّل.

## أوامر إدارية شائعة

تنفيذ يدوي:

```bash
openclaw cron list
openclaw cron show <job-id>
openclaw cron run <job-id>
openclaw cron run <job-id> --due
openclaw cron runs --id <job-id> --limit 50
```

تتضمن إدخالات `cron runs` تشخيصات التسليم مع هدف Cron المقصود،
والهدف بعد resolve، وعمليات الإرسال عبر أداة الرسائل، واستخدام الرجوع الاحتياطي، وحالة التسليم.

إعادة توجيه الوكيل/الجلسة:

```bash
openclaw cron edit <job-id> --agent ops
openclaw cron edit <job-id> --clear-agent
openclaw cron edit <job-id> --session current
openclaw cron edit <job-id> --session "session:daily-brief"
```

تعديلات التسليم:

```bash
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
openclaw cron edit <job-id> --best-effort-deliver
openclaw cron edit <job-id> --no-best-effort-deliver
openclaw cron edit <job-id> --no-deliver
```

ملاحظة تسليم الفشل:

- `delivery.failureDestination` مدعوم للمهام المعزولة.
- لا يمكن لمهام الجلسة الرئيسية استخدام `delivery.failureDestination` إلا عندما
  يكون وضع التسليم الأساسي هو `webhook`.
- إذا لم تضبط أي وجهة فشل وكانت المهمة تعلن بالفعل إلى
  قناة، فإن إشعارات الفشل تعيد استخدام هدف الإعلان نفسه.
