0Pricing
DevOps Bootcamp · درس

Listen: مُشغّل واحد وعدة Handlers

وزّع إشعارًا واحدًا على عدة Handlers

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

حدث واحد، وردود فعل متعددة

قد ينبغي لتغيير واحد أحيانًا تشغيل عدة handlers في الوقت نفسه. وتتيح الكلمة المفتاحية listen لعدة handlers الاشتراك في موضوع واحد.

أرسلوا إشعارًا إلى موضوع، لا إلى اسم

مع listen، يشير notify في المهمة إلى اسم حدث منطقي بدلًا من عنوان handler محدد.

- name: Update certs
  ansible.builtin.copy:
    src: site.pem
    dest: /etc/ssl/site.pem
  notify: restart web stack

تشترك Handlers باستخدام listen

تضيف كل handler سطر listen يتضمن اسم الموضوع نفسه. وتُشغَّل كل handler تستمع إلى ذلك الموضوع عند إرسال إشعار إليه.

handlers:
  - name: Restart nginx
    ansible.builtin.service:
      name: nginx
      state: restarted
    listen: restart web stack

Handlers متعددة، وموضوع واحد

امنحوا عدة handlers قيمة listen نفسها، وسيؤدي notify واحد إلى إرسال الإشعار إليها جميعًا. وهذا مناسب جدًا لإعادة التشغيل الجماعية.

  - name: Restart php-fpm
    ansible.builtin.service:
      name: php-fpm
      state: restarted
    listen: restart web stack

افصلوا المهام عن Handlers

تتمثل الفائدة الكبرى في فك الارتباط: تشير المهام إلى موضوع، ويمكنكم إضافة handlers أو إزالتها دون تعديل المهام التي ترسل الإشعارات.

يبقى الاسم اختياريًا لكنه مفيد

يمكن أن يكون لـ handler التي تستخدم listen name أيضًا، مما يحافظ على سهولة قراءة المخرجات، ويتيح للمهام الأخرى إرسال إشعار إليها مباشرةً.

يمكن لـ Handler الاستماع إلى عدة مواضيع

امنحوا listen قائمة، وستستجيب handler واحدة لعدة مواضيع مختلفة. وستتفاعل مع أي حدث يُرسَل إليه إشعار.

    listen:
      - restart web stack
      - reload tls

تبقى Idempotent

تتبع الإشعارات المعتمدة على الموضوع القواعد نفسها: لا تُشغَّل handlers إلا عند changed، ولا تُشغَّل كل واحدة منها أكثر من مرة واحدة لكل play.

يبقى الترتيب هو ترتيب التعريف

عندما يوقظ موضوع واحد عدة handlers، تُشغَّل وفق ترتيب تعريفها في قائمة handlers، تمامًا مثل handlers العادية.

شائع في الأدوار المشتركة

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

Notify مقابل Listen

إن notify هو الإشارة الصادرة من مهمة، بينما listen هو الاشتراك الموجود في handler. ويحوّلان معًا حدثًا واحدًا إلى إجراءات متعددة. 🔔

تحقّق سريع

تريد أن تعيد تعليمة notify واحدة تشغيل ثلاث خدمات في الوقت نفسه. ما الذي يتيح لمعالجات متعددة الاستجابة لموضوع واحد؟

مراجعة

باستخدام listen، تُرسل المهمة إشعارًا إلى موضوع، ويتم تشغيل كل معالج مشترك فيه. يفصل ذلك بين المهام والمعالجات، ويسمح بالتوسع بسلاسة. 🎯

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

هل درس «Listen: مُشغّل واحد وعدة Handlers» مجاني؟

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

ماذا ستتعلم في «Listen: مُشغّل واحد وعدة Handlers»؟

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

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

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

كم من الوقت يستغرق درس «Listen: مُشغّل واحد وعدة Handlers»؟

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

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

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

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

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