DevOps-bootcamp · Les

Listen: één trigger, meerdere handlers

Stuur één melding door naar meerdere handlers.

Les 4 van 413 stappen

Listen: één trigger, meerdere handlers is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Eén gebeurtenis, veel reacties

Soms moet één wijziging meerdere handlers tegelijk activeren. Met het sleutelwoord listen kunnen meerdere handlers zich op één onderwerp abonneren.

Meld een onderwerp, geen naam

Met listen verwijst de notify van een taak naar een logische gebeurtenisnaam in plaats van naar de naam van één specifieke handler.

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

Handlers abonneren zich met listen

Elke handler voegt een regel listen toe met dezelfde onderwerpnaam. Elke handler die naar dat onderwerp luistert, wordt geactiveerd wanneer het onderwerp wordt gemeld.

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

Veel handlers, één onderwerp

Geef meerdere handlers dezelfde waarde voor listen en één melding wordt naar al deze handlers doorgestuurd. Ideaal voor gegroepeerde herstarts.

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

Taken loskoppelen van handlers

Het grote voordeel is ontkoppeling: taken verwijzen naar een onderwerp en je kunt handlers toevoegen of verwijderen zonder de taken die de melding versturen aan te passen.

Een naam blijft optioneel, maar is nuttig

Een handler met listen kan nog steeds een name hebben. Dat houdt de uitvoer leesbaar en zorgt ervoor dat andere taken de handler ook rechtstreeks kunnen melden.

Eén handler kan naar meerdere onderwerpen luisteren

Geef listen een lijst en één handler reageert op meerdere verschillende onderwerpen. De handler reageert op elke gebeurtenis die wordt gemeld.

    listen:
      - restart web stack
      - reload tls

Nog steeds idempotent

Meldingen op basis van onderwerpen volgen dezelfde regels: handlers worden alleen geactiveerd bij changed en elke handler wordt nog steeds maximaal één keer per play uitgevoerd.

De volgorde blijft de definitievolgorde

Wanneer een onderwerp meerdere handlers activeert, worden ze uitgevoerd in de volgorde waarin ze in de handlerlijst zijn gedefinieerd, net als gewone handlers.

Gebruikelijk in gedeelde rollen

Herbruikbare rollen gebruiken listen, zodat gebruikers een stabiel onderwerp melden terwijl de rol haar interne verzameling handlers vrij kan wijzigen.

notify versus listen

notify is het signaal van een taak; listen is het abonnement van een handler. Samen maken ze van één gebeurtenis meerdere acties. 🔔

Korte controle

Je wilt met één notify drie services tegelijk opnieuw starten. Wat zorgt ervoor dat meerdere handlers op één onderwerp kunnen reageren?

Samenvatting

Met listen meldt een taak een onderwerp en wordt elke geabonneerde handler uitgevoerd. Zo ontkoppel je taken van handlers en schaal je probleemloos. 🎯

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “Listen: één trigger, meerdere handlers” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Listen: één trigger, meerdere handlers”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “Listen: één trigger, meerdere handlers”?

Stuur één melding door naar meerdere handlers. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Listen: één trigger, meerdere handlers”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Een handler aanroepen bij wijzigingen
  2. Handlers definiëren en herstartpatronen
  3. Wanneer handlers worden uitgevoerd en flush_handlers
  4. Listen: één trigger, meerdere handlers
← Terug naar DevOps-bootcamp