Listen: één trigger, meerdere handlers
Stuur één melding door naar meerdere handlers.
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 stackHandlers 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 stackVeel 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 stackTaken 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 tlsNog 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. 🎯
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
- Een handler aanroepen bij wijzigingen
- Handlers definiëren en herstartpatronen
- Wanneer handlers worden uitgevoerd en flush_handlers
- Listen: één trigger, meerdere handlers