Junior
Wat zijn handlers?
sobes.tech AI
Antwoord van AI
Handlers (Handlers) in de context van DevOps, vooral in tools zoals Ansible, zijn taken of codeblokken die alleen worden uitgevoerd onder bepaalde voorwaarden — wanneer ze expliciet worden "geïntegreerd" door een andere taak. Ze worden gebruikt om services opnieuw op te starten, servers te herstarten of andere acties uit te voeren die alleen moeten plaatsvinden na belangrijke configuratiewijzigingen.
Belangrijkste kenmerken:
- Worden uitgevoerd op notificatie: De handler wordt alleen gestart nadat een of meerdere taken deze expliciet hebben "geïntegreerd" (bijvoorbeeld met
notifyin Ansible). - Eénmalige uitvoering: Zelfs als meerdere taken dezelfde handler informeren, wordt deze slechts één keer uitgevoerd aan het einde van het playbook of de sectie
include_tasks/import_taskswaar hij is gedefinieerd. Dit voorkomt meerdere herstarts van services. - Declaratieve aanpak: Ze stellen je in staat om declaratief te bepalen welke acties moeten worden ondernomen bij een wijziging in de systeemstatus, zonder je zorgen te maken over handmatige uitvoering.
Voorbeeld van een handler-notificatie in een Ansible-taak:
- name: Configureer webserver # Taak die de configuratie kan wijzigen
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: # Informeer de handler
- restart nginx
Definitie van de handler:
handlers:
- name: restart nginx # Handler-naam, komt overeen met de naam in notify
service:
name: nginx
state: restarted