الأتمتة
استكشاف أخطاء الأتمتة
استخدم هذه الصفحة لمشكلات المجدول والتسليم (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 لأن ملفHEARTBEAT.mdلا يحتوي على محتوى قابل للتنفيذ ولم يتم قائمة أي حدث cron موسوم.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يستخدم النطاق الزمني لبوابة المضيف. activeHoursالخاص بـ heartbeat يستخدم دقة النطاق الزمني المحدد (user,local, أو IANA tz صريح).- الطوابع الزمنية ISO بدون نطاق زمني تُعامل كـ UTC لجدول cron
at.
المؤشرات الشائعة:
- تعمل المهام في وقت الساعة الخاطئ بعد تغييرات النطاق الزمني للمضيف.
- يتم دائمًا تخطي heartbeat خلال وقت النهار لأن
activeHours.timezoneخاطئ.
ذات صلة: