Messages and delivery

سياسة إعادة المحاولة

الأهداف

  • إعادة المحاولة لكل طلب HTTP، وليس لكل تدفق متعدد الخطوات.
  • الحفاظ على الترتيب من خلال إعادة محاولة الخطوة الحالية فقط.
  • تجنب تكرار العمليات غير الآمنة للتكرار.

الإعدادات الافتراضية

الإعداد القيمة الافتراضية
عدد المحاولات 3
الحد الأقصى للتأخير 30000 ms
التفاوت العشوائي 0.1 (10%)
الحد الأدنى لتأخير Telegram 400 ms
الحد الأدنى لتأخير Discord 500 ms

السلوك

موفرو النماذج

  • يتيح OpenClaw لحزم SDK الخاصة بالموفرين معالجة عمليات إعادة المحاولة القصيرة المعتادة.
  • بالنسبة إلى حزم SDK المستندة إلى Stainless، مثل Anthropic وOpenAI، يمكن أن تتضمن الاستجابات القابلة لإعادة المحاولة (408 و409 و429 و5xx) القيمة retry-after-ms أو retry-after. عندما تتجاوز مدة الانتظار 60 ثانية، يضيف OpenClaw الترويسة x-should-retry: false لكي تعرض حزمة SDK الخطأ فورًا، مما يتيح لتجاوز فشل النموذج الانتقال إلى ملف تعريف مصادقة آخر أو نموذج احتياطي.
  • تجاوز الحد باستخدام OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. اضبطه على 0 أو false أو off أو none أو disabled للسماح لحزم SDK بالتقيد داخليًا بفترات الانتظار الطويلة المحددة في Retry-After.

Discord

  • يعيد المحاولة عند حدوث أخطاء حد المعدل (HTTP 429)، وانتهاء مهلة الطلب، واستجابات HTTP 5xx، وإخفاقات النقل المؤقتة مثل إخفاقات البحث في DNS، وإعادة ضبط الاتصال، وإغلاق المقبس، وإخفاقات الجلب.
  • يستخدم Discord القيمة retry_after عند توفرها، وإلا فيستخدم التراجع الأُسّي.

Telegram

  • يعيد المحاولة عند حدوث أخطاء مؤقتة (429، وانتهاء المهلة، وفشل الاتصال أو إعادة ضبطه أو إغلاقه، وعدم التوفر مؤقتًا).
  • يستخدم القيمة retry_after عند توفرها، وإلا فيستخدم التراجع الأُسّي.
  • لا تُعاد المحاولة عند حدوث أخطاء في تحليل HTML/Markdown؛ بل يُستخدم النص العادي بديلًا في المحاولة الأولى.

الإعداد

اضبط سياسة إعادة المحاولة لكل موفر في ~/.openclaw/openclaw.json:

json5
{  channels: {    telegram: {      retry: {        attempts: 3,        minDelayMs: 400,        maxDelayMs: 30000,        jitter: 0.1,      },    },    discord: {      retry: {        attempts: 3,        minDelayMs: 500,        maxDelayMs: 30000,        jitter: 0.1,      },    },  },}

ملاحظات

  • تُطبق عمليات إعادة المحاولة لكل طلب (إرسال رسالة، أو رفع وسائط، أو إضافة تفاعل، أو إنشاء استطلاع، أو إرسال ملصق).
  • لا تعيد التدفقات المركبة محاولة الخطوات المكتملة.

موضوعات ذات صلة

Was this useful?
On this page

On this page