Listen: Ein Trigger, mehrere Handler
Verteilen Sie eine einzelne Benachrichtigung auf mehrere Handler.
Listen: Ein Trigger, mehrere Handler ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Ein Ereignis, viele Reaktionen
Manchmal soll eine Änderung mehrere Handler gleichzeitig auslösen. Mit dem Schlüsselwort listen können viele Handler ein einzelnes Thema abonnieren.
Ein Thema statt eines Namens benachrichtigen
Bei listen verweist das notify einer Task auf den Namen eines logischen Ereignisses statt auf den Titel eines bestimmten Handlers.
- name: Update certs
ansible.builtin.copy:
src: site.pem
dest: /etc/ssl/site.pem
notify: restart web stackHandler abonnieren sich mit listen
Jeder Handler fügt eine listen-Zeile mit demselben Themennamen hinzu. Jeder Handler, der dieses Thema abonniert, wird ausgeführt, wenn es benachrichtigt wird.
handlers:
- name: Restart nginx
ansible.builtin.service:
name: nginx
state: restarted
listen: restart web stackViele Handler, ein Thema
Geben Sie mehreren Handlern denselben Wert für listen, und eine einzelne notify-Benachrichtigung wird an alle weitergeleitet. Ideal für gruppierte Neustarts.
- name: Restart php-fpm
ansible.builtin.service:
name: php-fpm
state: restarted
listen: restart web stackTasks von Handlern entkoppeln
Der große Vorteil ist die Entkopplung: Tasks verweisen auf ein Thema, und Sie können Handler hinzufügen oder entfernen, ohne die benachrichtigenden Tasks anzupassen.
Ein Name bleibt optional, ist aber nützlich
Ein Handler mit listen kann weiterhin einen Namen haben. Dadurch bleibt die Ausgabe lesbar, und andere Tasks können ihn ebenfalls direkt benachrichtigen.
Ein Handler kann mehrere Themen abonnieren
Übergeben Sie listen eine Liste, und ein Handler reagiert auf mehrere verschiedene Themen. Er reagiert auf das Ereignis, das jeweils benachrichtigt wird.
listen:
- restart web stack
- reload tlsWeiterhin idempotent
Themenbasierte Benachrichtigungen folgen denselben Regeln: Handler werden nur bei changed ausgeführt, und jeder Handler läuft pro Play weiterhin höchstens einmal.
Die Reihenfolge bleibt die Definitionsreihenfolge
Wenn ein Thema mehrere Handler aktiviert, werden sie in der Reihenfolge ausgeführt, in der sie in der Handler-Liste definiert sind, genau wie normale Handler.
Häufig in gemeinsam genutzten Rollen
Wiederverwendbare Rollen verwenden listen, damit Anwender ein stabiles Thema benachrichtigen können, während die Rolle ihre interne Menge an Handlern frei verändert.
Notify und Listen
notify ist das Signal einer Task; listen ist das Abonnement eines Handlers. Zusammen verwandeln sie ein Ereignis in viele Aktionen. 🔔
Kurzer Check
Sie möchten mit einem notify drei Services gleichzeitig neu starten. Was ermöglicht es mehreren Handlern, auf ein einziges Topic zu reagieren?
Zusammenfassung
Mit listen benachrichtigt ein Task ein Topic, und jeder abonnierte Handler wird ausgelöst. Dadurch sind Tasks und Handler voneinander entkoppelt und lassen sich sauber skalieren. 🎯
Häufig gestellte Fragen
Ist die Lektion „Listen: Ein Trigger, mehrere Handler“ kostenlos?
Ja — der vollständige Text von „Listen: Ein Trigger, mehrere Handler“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Listen: Ein Trigger, mehrere Handler“?
Verteilen Sie eine einzelne Benachrichtigung auf mehrere Handler. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Listen: Ein Trigger, mehrere Handler“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Bei Änderungen einen Handler benachrichtigen
- Handler definieren und Neustartmuster
- Wann Handler ausgeführt werden und flush_handlers
- Listen: Ein Trigger, mehrere Handler