انتقل إلى المحتوى
فهد النعيميFahad ALNaimi ريادة الأعمال والتجارة الإلكترونية والذكاء الاصطناعي
جميع المقالات

إعادة المحاولة في الأتمتة: امنع تنفيذ العملية مرتين قبل زيادة الاعتمادية

في هذا المقال

قد ينقطع الاتصال بعد أن ينشئ النظام طلبًا أو يرسل إشعارًا، وقبل أن يصل التأكيد إلى المساعد الآلي. إذا أعاد المساعد العملية من البداية، فقد ينتج طلبان بدل طلب واحد. الاستجابة المتأخرة لا تثبت فشل التنفيذ؛ إنها تعني أن النتيجة غير محسومة.

امنح العملية هوية ثابتة

افصل هوية العملية التجارية عن هوية محاولة الاتصال. طلب العميل الواحد يجب أن يحتفظ بمعرّف ثابت، حتى لو احتاج إلى ثلاث محاولات للوصول إلى الخدمة. إنشاء معرّف جديد مع كل محاولة يمنع النظام من معرفة أن الطلب تكرار للمحاولة السابقة.

تشرح وثائق Stripe لمفاتيح عدم تكرار التنفيذ كيف تساعد هذه المفاتيح على إعادة الطلب دون إنشاء العملية نفسها مرتين. هذا مثال على آلية يدعمها مزوّد محدد، وليس ضمانًا بأن كل خدمة تعمل بالطريقة نفسها.

افصل الحالات قبل كتابة قاعدة إعادة المحاولة

استخدم حالات واضحة: لم يُرسل، جارٍ التنفيذ، نجح، فشل مؤكد، ونتيجة غير محسومة. عند انقطاع الاتصال، ابدأ بالبحث عن نتيجة العملية باستخدام معرّفها، أو بمراجعة سجل الخدمة، قبل محاولة إنشائها مجددًا.

في مثال افتراضي، يطلب مساعد إنشاء حجز مخزون للطلب A104. تنقطع الشبكة بعد وصول الطلب إلى نظام المخزون. إذا أعاد المساعد التنفيذ بمعرّف مختلف، فقد يحجز الكمية مرتين. الأفضل أن يبقى معرّف الحجز ثابتًا، وأن تكون آلية منع التكرار في الخدمة المنفذة نفسها متى دعمت ذلك.

لا تجعل النص وحده حاجز الحماية

توجيه المساعد بعبارة «لا تكرر العملية» مفيد، لكنه لا يعوّض قيدًا في النظام. ضع التحقق في طبقة تنفيذ الأداة، وسجّل المعرّف والعملية ونتيجتها. امنع تغيير المدخلات مع الإبقاء على هوية العملية نفسها، لأن ذلك قد يخلط بين تكرار الطلب وطلب جديد.

افحص دعم المزوّد، ومدة الاحتفاظ بالمفاتيح، وسلوك الطلبات المتزامنة. عند غياب منع التكرار في الخدمة الخارجية، قد يخفف سجل محلي المشكلة، لكنه لا يضمن وحده منعها إذا تعطّل الاتصال بين التنفيذ وحفظ النتيجة.

اختبر الانقطاع في اللحظة الصعبة

في بيئة اختبار، جرّب إعادة الطلب نفسه، ومحاولتين متزامنتين، وانقطاع الاتصال بعد التنفيذ وقبل التأكيد. راقب عدد الآثار الفعلية في النظام، لا عدد رسائل النجاح فقط. احصر الحالات غير المحسومة في قائمة مراجعة بدل إعادة المحاولة بلا نهاية.

الهدف هو أن ترفع إعادة المحاولة احتمال إكمال العملية دون مضاعفة آثارها. قبل تشغيل مساعد يمتلك صلاحية إنشاء الطلبات، اسأل الفريق: كيف نعرف أن هذه العملية حدثت بالفعل إذا ضاع الرد؟

العودة إلى بداية المقال
  • ذكاء اصطناعي
  • منصات رقمية
  • شراكات استراتيجية

معًا نبني فرصًا لقطر والخليج

التعاون والتواصل

لطرح فرصة تعاون، أرسل طبيعة الشراكة والهدف والجدول الزمني المقترح.

تواصل عبر واتساب