الرسائل والتوصيل
سياسة إعادة المحاولة
الأهداف
- إعادة المحاولة لكل طلب HTTP، وليس لكل سير عمل متعدد الخطوات.
- الحفاظ على الترتيب من خلال إعادة محاولة الخطوة الحالية فقط.
- تجنب تكرار العمليات غير القابلة للإبطال.
الإعدادات الافتراضية
- عدد المحاولات: 3
- الحد الأقصى للتأخير: 30000 مللي ثانية
- التذبذب: 0.1 (10 بالمائة)
- الإعدادات الافتراضية للمزود:
- الحد الأدنى للتأخير في Telegram: 400 مللي ثانية
- الحد الأدنى للتأخير في Discord: 500 مللي ثانية
السلوك
Discord
- يعيد المحاولة فقط عند أخطاء حد المعدل (HTTP 429).
- يستخدم
retry_afterالخاص بـ Discord عند توافره، وإلا يستخدم التراجع الأسي.
Telegram
- يعيد المحاولة عند الأخطاء العابرة (429، انتهاء المهلة، اتصال/إعادة تعيين/مغلق، غير متاح مؤقتًا).
- يستخدم
retry_afterعند توافره، وإلا يستخدم التراجع الأسي. - أخطاء تحليل Markdown لا يتم إعادة محاولتها؛ بل تتراجع إلى نص عادي.
التكوين
قم بتعيين سياسة إعادة المحاولة لكل مزود في ~/.openclaw/openclaw.json:
{
channels: {
telegram: {
retry: {
attempts: 3,
minDelayMs: 400,
maxDelayMs: 30000,
jitter: 0.1,
},
},
discord: {
retry: {
attempts: 3,
minDelayMs: 500,
maxDelayMs: 30000,
jitter: 0.1,
},
},
},
}
ملاحظات
- تنطبق إعادة المحاولة على كل طلب (إرسال رسالة، رفع ملف وسائط، تفاعل، استطلاع، ملصق).
- لا تعيد سير العمل المركبة محاولة الخطوات المكتملة.