0Pricing
DevOps Bootcamp · درس

إشعار Handler عند حدوث تغيير

اربط مهمةً بتشغيل Handler

إشعار Handler عند حدوث تغيير درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

أعيدوا التشغيل عند الحاجة فقط

إعادة تشغيل خدمة في كل مرة تهدر الموارد وتنطوي على مخاطر. يتيح لكم handler إعادة تشغيلها فقط عندما يتغير شيء فعليًا.

ما هو Handler؟

إن handler ليس سوى مهمة تظل خاملة حتى تطلب منها مهمة عادية التشغيل. فكّروا فيه كإجراء ينتظر إشارة.

الكلمة المفتاحية notify

تصلون المهمة بـ handler باستخدام الكلمة المفتاحية notify. وتكون القيمة هي الاسم المطابق تمامًا لـ handler الذي تريدون تنبيهه.

- name: Copy nginx config
  ansible.builtin.copy:
    src: nginx.conf
    dest: /etc/nginx/nginx.conf
  notify: Restart nginx

يجب أن تتطابق الأسماء

يجب أن تطابق السلسلة النصية في notify اسم handler حرفيًا. ويعني أي خطأ إملائي أن handler لن يُشغَّل مطلقًا دون تنبيه واضح.

يعمل notify عند changed

لا يُرسَل التنبيه إلى handler إلا عندما تُبلغ مهمته عن الحالة changed. فإذا كانت المهمة في الحالة المطلوبة أصلًا، فلن يُشغَّل شيء.

تعني ok عدم إرسال إشعار

عندما تُرجع المهمة الحالة ok، يتجاوز Ansible notify بالكامل. ولهذا لا تؤدي عملية التشغيل الثانية عادةً إلى إعادة تشغيل أي شيء. ✅

يمكن للمهمة تنبيه عدة Handlers

يمكن لمهمة واحدة تنبيه عدة handlers من خلال إعطاء notify قائمة. ويُضاف كل handler مسمّى إلى قائمة الانتظار عندما تتغير المهمة.

  notify:
    - Restart nginx
    - Reload firewall

توضع الإشعارات في قائمة انتظار

لا يؤدي التنبيه إلى تشغيل handler فورًا. إذ يضعه Ansible في قائمة انتظار ثم يشغّله لاحقًا، بعد انتهاء مهام play.

يُشغَّل كل Handler مرة واحدة

إذا أرسلت خمس مهام إشعارًا إلى handler نفسه، فسيُشغَّل مرة واحدة فقط. إذ يزيل Ansible تلقائيًا إشعارات handler المكررة من قائمة الانتظار.

لماذا يقلل هذا من التوقف

لأن إعادة التشغيل لا تحدث إلا عند وجود تغيير فعلي، تواصل الخوادم التي لم تتغير خدمة الطلبات. وهذا هو جوهر الأتمتة الآمنة التي تحقق idempotence.

الصورة الكاملة

تغيّر مهمة ملفًا، ثم يضع notify إعادة التشغيل في قائمة الانتظار. تنتهي المهام، ثم يعيد handler تشغيل الخدمة. أسلوب نظيف ومختصر.

تحقق سريع

متى يُشغَّل handler الذي أُرسل إليه إشعار فعليًا؟

مراجعة

تعلّمتم أن notify يربط مهمةً بـ handler لا يعمل إلا عند حدوث تغيير. ويجب أن تتطابق الأسماء، كما يضع Ansible كل handler في قائمة الانتظار ليُشغَّل مرة واحدة فقط. 🚀

الأسئلة الشائعة

هل درس «إشعار Handler عند حدوث تغيير» مجاني؟

نعم — نص درس «إشعار Handler عند حدوث تغيير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «إشعار Handler عند حدوث تغيير»؟

اربط مهمةً بتشغيل Handler تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «إشعار Handler عند حدوث تغيير»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إشعار Handler عند حدوث تغيير
  2. تعريف Handlers وأنماط إعادة التشغيل
  3. متى تعمل Handlers وflush_handlers
  4. Listen: مُشغّل واحد وعدة Handlers
← العودة إلى DevOps Bootcamp