الانتقال إلى المحتوى
مركز المساعدة
المنتجات
العودة إلى التكامل مع نظام KC LMS

كيفية إعادة إرسال أو إعادة محاولة الويب هوكس الفاشلة

الملخص

عندما ترسل التكاملات ويب هوك (Web Hook) صادرًا، فإنها تسجل نتيجة كل محاولة تسليم في سجل الويب هوك. إذا لم تنجح عملية تسليم ما، يمكنك مراجعة الإدخال الفاشل وإعادة تشغيله مباشرة من السجل حتى يصل الإشعار إلى نظامك الخارجي. تشرح هذه المقالة كيفية قراءة حالات التسليم وكيفية إعادة إرسال أو إعادة محاولة ويب هوك فاشل.

مقدمة

ترسل الويب هوكس (Web Hooks) في التكاملات إشعارات بالأحداث إلى نقطة نهاية خارجية في اللحظة التي يحدث فيها شيء ما، بحيث تبقى الأنظمة اللاحقة متزامنة دون الحاجة إلى الاستقصاء الدوري (polling). التسليم مصمَّم ليكون موثوقًا: كل طلب موقَّع بواسطة HMAC، وإذا فشل، تُعيد التكاملات المحاولة تلقائيًا باستخدام تأخير تصاعدي (exponential back-off)، بينما يحتفظ السجل بسجل لكل محاولة.

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

المفاهيم الأساسية

  • سجل الويب هوك: سجل عمليات التسليم الصادرة لحسابك، يحتفظ بكل محاولة حتى تتمكن من تأكيد الاستلام أو تشخيص الفشل.
  • حالة التسليم: النتيجة المسجَّلة لعملية تسليم. تُظهر عملية التسليم قيد التنفيذ أو التي تنتظر محاولتها القيمة PENDING، وتُظهر عملية التسليم التي قبلتها نقطة النهاية القيمة SUCCESS، وتُظهر العملية التي لم تنجح القيمة FAILED.
  • حالة آخر تشغيل: قيمة تعكس نتيجة آخر محاولة لعملية التسليم تلك.
  • عدد التشغيلات: قيمة تتتبع عدد مرات محاولة تسليم عملية ما، بما في ذلك عمليات إعادة المحاولة التلقائية.
  • إعادة المحاولة التلقائية مع التأخير التصاعدي: عند فشل عملية تسليم، تُعيد التكاملات المحاولة تلقائيًا باستخدام تأخير تصاعدي (exponential back-off)، بحيث تتعافى نقطة النهاية غير المتاحة مؤقتًا عادةً دون أي تدخل يدوي.
  • إعادة الإرسال وإعادة المحاولة: إجراءات يدوية تُعيد تشغيل عملية تسليم من السجل، تُستخدم عند استنفاد عمليات إعادة المحاولة التلقائية أو عندما تكون قد أصلحت نقطة النهاية وتريد إرسال الإشعار مرة أخرى فورًا.

الخطوات التي يجب اتباعها

فتح سجل الويب هوك

سجّل الدخول بصفتك مسؤولًا وافتح منطقة التكاملات من إعدادات حسابك. انتقل إلى قسم الويب هوكس وافتح سجل التسليم لنقطة النهاية التي تريد فحصها. يسرد السجل عمليات التسليم الأخيرة مع حالتها وسجل محاولاتها.

تحديد عمليات التسليم الفاشلة

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

تشخيص السبب قبل إعادة التشغيل

قبل إعادة تشغيل عملية تسليم، تأكد من أن نقطة النهاية جاهزة لاستلامها. تحقق من أن عنوان URL لنقطة النهاية قابل للوصول عبر HTTPS، وأن الخدمة المستقبلة قيد التشغيل، وأنها تقبل وتتحقق من توقيع HMAC على الطلب. إعادة الإرسال إلى نقطة نهاية ما زالت متعطلة ستفشل مرة أخرى فقط وتزيد من عدد التشغيلات، لذا يُنصح بحل المشكلة الأساسية أولًا.

إعادة إرسال أو إعادة محاولة الويب هوك

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

التأكد من نجاح التسليم

بعد إعادة التشغيل، حدِّث السجل وتحقق من الإدخال مرة أخرى. تُظهر عملية التسليم التي تمت بنجاح حالة SUCCESS وحالة آخر تشغيل محدَّثة. إذا عادت إلى FAILED، فإن نقطة النهاية ما زالت ترفض الطلب أو لا تستلمه، لذا راجع تهيئة نقطة النهاية والتحقق من التوقيع قبل محاولة إعادة إرسال أخرى.

الخاتمة

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

اسأل Casey عن هذه المقالة