automation/troubleshooting.md¶
استخدم هذه الصفحة لمشكلات المجدول والتسليم (cron + heartbeat).
سلّم الأوامر¶
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
openclaw channels status --probe
ثم شغّل فحوصات الأتمتة:
openclaw cron status
openclaw cron list
openclaw system heartbeat last
Cron لا يعمل¶
openclaw cron status
openclaw cron list
openclaw cron runs --id <jobId> --limit 20
openclaw logs --follow
يبدو الخرج الجيد كما يلي:
cron statusيبلّغ بأنه مُمكّن وبوجودnextWakeAtMsمستقبلي.- المهمة مُمكّنة ولديها جدول/منطقة زمنية صالحة.
cron runsيُظهرokأو سبب تخطٍّ صريح.
التوقيعات المشتركة:
cron: scheduler disabled; jobs will not run automatically→ تم تعطيل cron في التهيئة/متغيرات البيئة.cron: timer tick failed→ تعطل نبض المجدول؛ افحص سياق المكدس/السجلات المحيطة.reason: not-dueفي خرج التشغيل → تم استدعاء تشغيل يدوي بدون--forceولم يحن موعد المهمة بعد.
تم تشغيل Cron ولكن لم يحدث تسليم¶
openclaw cron runs --id <jobId> --limit 20
openclaw cron list
openclaw channels status --probe
openclaw logs --follow
يبدو الخرج الجيد كما يلي:
- حالة التشغيل هي
ok. - تم تعيين وضع/هدف التسليم للمهام المعزولة.
- فحص القناة يبلّغ بأن القناة الهدف متصلة.
التوقيعات المشتركة:
- نجح التشغيل لكن وضع التسليم هو
none→ لا يُتوقع إرسال رسالة خارجية. - هدف التسليم مفقود/غير صالح (
channel/to) → قد ينجح التشغيل داخليًا لكنه يتجاوز الإرسال الخارجي. - أخطاء مصادقة القناة (
unauthorized،missing_scope،Forbidden) → تم حظر التسليم بسبب بيانات اعتماد/أذونات القناة.
تم كبت Heartbeat أو تخطيه¶
openclaw system heartbeat last
openclaw logs --follow
openclaw config get agents.defaults.heartbeat
openclaw channels status --probe
يبدو الخرج الجيد كما يلي:
- Heartbeat مُمكّن بفاصل غير صفري.
- آخر نتيجة Heartbeat هي
ran(أو أن سبب التخطي مفهوم).
التوقيعات المشتركة:
heartbeat skippedمعreason=quiet-hours→ خارجactiveHours.requests-in-flight→ المسار الرئيسي مشغول؛ تم تأجيل Heartbeat.empty-heartbeat-file→ يوجدHEARTBEAT.mdلكنه لا يحتوي على محتوى قابل للتنفيذ.alerts-disabled→ إعدادات الرؤية تكبت رسائل Heartbeat الصادرة.
ملاحظات مهمة حول المنطقة الزمنية و activeHours¶
openclaw config get agents.defaults.heartbeat.activeHours
openclaw config get agents.defaults.heartbeat.activeHours.timezone
openclaw config get agents.defaults.userTimezone || echo "agents.defaults.userTimezone not set"
openclaw cron list
openclaw logs --follow
قواعد سريعة:
Config path not found: agents.defaults.userTimezoneيعني أن المفتاح غير مُعيّن؛ يعود Heartbeat إلى المنطقة الزمنية للمضيف (أوactiveHours.timezoneإذا كانت مُعيّنة).- Cron بدون
--tzيستخدم المنطقة الزمنية لمضيف Gateway. - Heartbeat
activeHoursيستخدم دقة المنطقة الزمنية المُهيّأة (user،local، أو منطقة IANA صريحة). - الطوابع الزمنية ISO بدون منطقة زمنية تُعامل على أنها UTC لجدولات cron
at.
التوقيعات المشتركة:
- تعمل المهام في وقت ساعة حائط غير صحيح بعد تغييرات المنطقة الزمنية للمضيف.
- يتم تخطي Heartbeat دائمًا خلال ساعات النهار لديك لأن
activeHours.timezoneغير صحيح.
ذات صلة: