Wanneer handlers worden uitgevoerd en flush_handlers
Bepaal wanneer handlers aan het einde van een play worden uitgevoerd.
Wanneer handlers worden uitgevoerd en flush_handlers is een gratis Ansible Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Ansible Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Ansible Academy bevat in totaal 4 lessen.
Handlers worden aan het einde uitgevoerd
Standaard worden alle gemelde handlers één keer uitgevoerd aan het einde van de play, nadat elke taak is voltooid. Niet op het moment waarop ze zijn gemeld.
Waarom ze uitstellen?
Door ze uit te stellen wordt een service één keer herstart, zelfs na veel configuratiewijzigingen. Zo voorkom je onnodige herstarts midden in de play en bespaar je tijd.
Per host, niet globaal
De timing van handlers wordt per host bijgehouden. Elke host voert zijn eigen handlers uit de wachtrij aan het einde van de play uit, onafhankelijk van de andere hosts.
Het probleem van een late herstart
Soms heeft een latere taak de service al herstart nodig. Wachten tot het einde van de play is dan te laat, dus je moet de handlers eerder uitvoeren.
Maak kennis met flush_handlers
De meta-taak flush_handlers dwingt af dat alle wachtende handlers nu worden uitgevoerd, midden in de play.
- name: Run queued handlers now
ansible.builtin.meta: flush_handlersHet is een meta-taak
flush_handlers is een speciale meta-actie die Ansible zelf bestuurt in plaats van de externe host aan te raken.
Een typisch gebruik
Wijzig de configuratie, voer de handlers uit zodat de service herstart en voer daarna een smoketest-taak uit op de pas herstartte service.
- name: Update config
ansible.builtin.template:
src: app.j2
dest: /etc/app.conf
notify: Restart app
- ansible.builtin.meta: flush_handlers
- name: Check health
ansible.builtin.uri:
url: http://localhost/healthFouten en handlers
Als een host vóór het einde van de play faalt, worden de wachtende handlers normaal gesproken niet uitgevoerd. Daarom kan vroegtijdig uitvoeren veiliger zijn.
force_handlers als vangnet
Stel force_handlers in op true voor een play om handlers uit de wachtrij ook uit te voeren wanneer een host later faalt. Handig voor herstarts die nodig zijn voor opruimen.
- hosts: web
force_handlers: true
tasks:
- ...Gebruik flush spaarzaam
Kies alleen voor flush_handlers wanneer de volgorde dit echt vereist. Bij overmatig gebruik verdwijnt het voordeel van bundeling dat handlers bieden.
De tijdlijn
Taken worden van boven naar beneden uitgevoerd, handlers wachten in een wachtrij en daarna worden ze allemaal aan het einde van de play geactiveerd, tenzij je ze eerder uitvoert. ⏱️
Snelle controle
Je moet een service midden in de play herstarten, zodat een latere taak deze kan aanspreken. Wat gebruik je?
Samenvatting
Handlers worden normaal gesproken één keer uitgevoerd aan het einde van de play, per host. Gebruik flush_handlers om ze eerder te activeren en force_handlers om ze ondanks fouten uit te voeren. 🚀
Leer YAML 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
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Wanneer handlers worden uitgevoerd en flush_handlers” gratis?
Ja — de volledige tekst van “Wanneer handlers worden uitgevoerd en flush_handlers” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Ansible Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Ansible Academy bevat in totaal 4 lessen.
Wat leer ik in “Wanneer handlers worden uitgevoerd en flush_handlers”?
Bepaal wanneer handlers aan het einde van een play worden uitgevoerd. Je oefent met Ansible Academy 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 Ansible Academy te beginnen?
Ervaring vooraf is niet nodig. Ansible Academy 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 3 van 4.
Hoe lang duurt de les “Wanneer handlers worden uitgevoerd en flush_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 Ansible Academy?
Ja. Elke les over Ansible Academy 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