الرئيسيةمن أناالدوراتالمدونةسوق الأوامرالمناهج والباقاتالشركاء

دورات عربية متخصصة في التقنية والبرمجة والذكاء الاصطناعي.

المنصة مبنية على الوضوح، التطبيق، والنتيجة النافعة: شرح مرتب يساعدك تفهم الأدوات، تكتب كودًا أفضل، وتستخدم الذكاء الاصطناعي بوعي داخل العمل الحقيقي.

المنصة

  • الرئيسية
  • من أنا
  • الدورات
  • المناهج والباقات
  • سوق الأوامر
  • المدونة

الدعم

  • الأسئلة الشائعة
  • تواصل معنا
  • سياسة الخصوصية
  • شروط استخدام التطبيق
  • سياسة الاسترجاع

© 2026 أحمد حايس. جميع الحقوق محفوظة.

الرئيسيةالدوراتالمناهجالمدونةالدخول
العودة لسوق الأوامر
مهارات وكلاءمهارات الوكلاء0 مرة نسخ

مهارة إعادة المحاولة مع تراجع أُسّي و jitter للنداءات الخارجية غير المستقرة

مهارة تشغيل جاهزة لوكلاء الكود (Claude Code وCursor وCodex وAntigravity) تُنظّم تحصين أي نداء خارجي غير مضمون ضد الأخطاء العابرة عبر إعادة محاولة منضبطة. المشكلة التي تعالجها شائعة ومكلفة: يفشل طلب HTTP أو استعلام قاعدة بيانات أو نشر رسالة في طابور فشلًا لحظيًا (ضغط، انقطاع شبكة، تجاوز حد معدّل)، فإمّا يستسلم الكود عند أول خطأ ويخسر عملية كان يمكن أن تنجح، أو يعيد المحاولة فورًا وبعمى فيقصف الخدمة المتعثرة ويزيدها انهيارًا. تختلف هذه المهارة جوهريًا عن مهارة تصميم Rate Limits (التي تحدّ من الطلبات الواردة إلى خدمتك) وعن مهارة تسوية Webhooks (التي تعالج رسائل فائتة): هدف هذه المهارة هو صمود المنادي (client resilience) عند نداء مورد خارجي. تفرض أربعة مبادئ: تراجع أُسّي window=min(cap, base·factor^(n-1)) يعطي الخدمة وقتًا متزايدًا للتعافي؛ وfull jitter ينتظر مدة عشوائية ضمن [0, window] لمنع «قطيع الرعد» (thundering herd) حين يعيد آلاف العملاء المحاولة في اللحظة نفسها؛ وتصنيف الأخطاء بحيث تُعاد الأخطاء العابرة (408/429/5xx/انقطاع/مهلة) فقط وتتوقف فورًا عند الأخطاء الدائمة (4xx)؛ وحدود صارمة لعدد المحاولات وللزمن الإجمالي تمنع التعليق اللانهائي. وتضيف قواعد ملزِمة: احترام ترويسة Retry-After وتقديمها على الحساب، وعدم إعادة أي عملية غير آمنة للتكرار إلا مع مفتاح تكرار (idempotency key) يمنع الازدواج، وتسجيل كل محاولة دون تسريب أسرار، وإعادة الخطأ الأصلي للأعلى بعد استنفاد المحاولات بدل ابتلاعه. مناسبة لتحصين نداءات API، وتحصيل المدفوعات بأمان، وضبط استعلامات قواعد البيانات والطوابير، وتحويل الإجراء إلى SKILL.md داخل أدوات الوكلاء.

كود منادٍ محصّن بحلقة إعادة محاولة محدودة: تصنيف صريح للأخطاء (قابل/غير قابل للإعادة)، تراجع أُسّي بسقف مع full jitter، احترام Retry-After، حدّان للمحاولات وللزمن الإجمالي، حماية idempotency للعمليات غير الآمنة، وتسجيل لكل محاولة دون أسرار — مع شرح موجز لقرارات التصنيف والحدود.

Claude CodeCursorCodexAntigravityClaudeChatGPTGeminiagent skillreliabilityresilience
معاينة ناتج: مهارة إعادة المحاولة مع تراجع أُسّي و jitter للنداءات الخارجية غير المستقرة
المعاينة

الشكل المتوقع للناتج

نداء POST /v1/charge بسياسة base=0.5s · factor=2 · cap=8s · max=5، والعملية محمية بمفتاح تكرار chg_9f2a…. تشغيل فعلي: attempt 1 → 503 → retry wait 0.16s (jitter ∈ [0, 0.50]) attempt 2 → 503 → retry wait 0.15s (jitter ∈ [0, 1.00]) attempt 3 → 429 → retry wait 2.00s (honor Retry-After=2s) attempt 4 → 200 OK نجح الطلب (إجمالي ≈ 2.31s) المحاولتان الأولى والثانية انتظرتا مدة عشوائية ضمن نافذة متضاعفة (full jitter)، والثالثة احترمت Retry-After=2s متجاوزةً الحساب، ومنع مفتاح التكرار خصمًا مزدوجًا رغم تكرار الإرسال، ونجح الطلب في المحاولة الرابعة دون تدخل يدوي. لاحظ أن إجمالي الانتظار (≈2.31s) بقي دون سقف الزمن، ولم تُعَد أي محاولة على خطأ دائم.

جاري تجهيز الوصول

نتحقق من حسابك الحالي قبل عرض نسخة الأمر الكاملة.

مثال ناتج

نداء POST /v1/charge بسياسة base=0.5s · factor=2 · cap=8s · max=5، والعملية محمية بمفتاح تكرار chg_9f2a…. تشغيل فعلي: attempt 1 → 503 → retry wait 0.16s (jitter ∈ [0, 0.50]) attempt 2 → 503 → retry wait 0.15s (jitter ∈ [0, 1.00]) attempt 3 → 429 → retry wait 2.00s (honor Retry-After=2s) attempt 4 → 200 OK نجح الطلب (إجمالي ≈ 2.31s) المحاولتان الأولى والثانية انتظرتا مدة عشوائية ضمن نافذة متضاعفة (full jitter)، والثالثة احترمت Retry-After=2s متجاوزةً الحساب، ومنع مفتاح التكرار خصمًا مزدوجًا رغم تكرار الإرسال، ونجح الطلب في المحاولة الرابعة دون تدخل يدوي. لاحظ أن إجمالي الانتظار (≈2.31s) بقي دون سقف الزمن، ولم تُعَد أي محاولة على خطأ دائم.

اشتراك مستقل

‏299 ج.م.‏30 يوماشتراك سوق الأوامر الشهري‏2,499 ج.م.‏365 يوماشتراك سوق الأوامر السنوي