0Pricing
DevOps Bootcamp · Lektion

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 stack

Handler 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 stack

Viele 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 stack

Tasks 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 tls

Weiterhin 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

  1. Bei Änderungen einen Handler benachrichtigen
  2. Handler definieren und Neustartmuster
  3. Wann Handler ausgeführt werden und flush_handlers
  4. Listen: Ein Trigger, mehrere Handler
← Zurück zu DevOps Bootcamp