محتويات الدورة

Express.js / المتقدم: عقود الموارد والكتابة والإصدار / الدرس 17

الرصد والصحة والإيقاف المنظم

قس نتائج الطلب المفيدة ونسق الجاهزية وتصريف العمل وتنظيف الموارد بعقد إيقاف محدود.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • افصل زمن الطلب وتأخر المصدر والخطأ والانقطاع.
  • نمذج الجاهزية والتصريف دون إرسال إشارات أو تشغيل مستمع.

اختر تسميات محدودة ونتائج ذات معنى

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

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

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

json سياسة دورة حياة اصطناعية
{"states":["starting","serving","draining","stopped"],"readyOnlyIn":"serving","healthBody":"safe-bounded-summary","shutdown":"stop-admission-drain-cleanup-exit"}

السجل تصميم محلي لا عنوان صحة حي أو إعداد مدير عملية أو معالج إشارة.

أوقف القبول قبل تحرير الاعتمادات

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

افحص قواعد القبول والتصريف محلياً

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

javascript نموذج محلي كامل لحالة التصريف
const state={phase:"serving",active:0};
function accept() {if (state.phase !== "serving") return false; state.active++; return true;}
console.assert(accept());
state.phase="draining";
console.assert(!accept() && state.active === 1);
state.active--;
if (state.active === 0) state.phase="stopped";
console.assert(state.phase === "stopped");

ينتهي عنصر مقبول ولا يقبل آخر بعد التصريف. لا يتحكم بمستمع أو إشارة أو مجمع حقيقي.

تحقق من الإطلاق والتراجع والتنظيف معاً

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

الأخطاء الشائعة وإصلاحها

يسرب مسبار الصحة اعتماد مصدر

لماذا يحدث؟
عرض التشخيص الداخلي التفصيلي للعامة.
كيف تصلحه؟
أعد ملخصاً آمناً محدوداً واحم التفصيل.
كيف تتجنب تكراره؟
راجع مفاتيح الصحة الدقيقة.

يصل عمل جديد بعد إغلاق المجمع

لماذا يحدث؟
حرر الإيقاف الاعتماد قبل وقف القبول.
كيف تصلحه؟
نسق الجاهزية والقبول والتصريف والتنظيف بالترتيب.
كيف تتجنب تكراره؟
اختبر المقبول سابقاً والواصل متأخراً.

يفقد العمال الإضافيون اتساق الجلسة

لماذا يحدث؟
افترض اشتراك حالة عملية محلية.
كيف تصلحه؟
استخدم بروتوكول حالة مشتركة حيث يلزم.
كيف تتجنب تكراره؟
أدرج افتراضات المثيلات في مراجعة الإصدار.

اختبر فهمك

1. لماذا تتغير الجاهزية قبل إغلاق الاعتمادات؟

اعرض الحل المشروح

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

2. هل يثبت finish عادي أن المستخدم عالج النتيجة؟

اعرض الحل المشروح

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

أهم ما تعلمته

  • تجيب الصحة والجاهزية ونجاح المجال أسئلة مختلفة.
  • يحتاج الإيقاف المنظم قبولاً وتصريفاً وتنظيفاً محدوداً بمسؤولية واضحة.

المراجع الرسمية