Junior
Čo sú handlery?
sobes.tech AI
Odpoveď od AI
Handler (spracovatelia) v kontexte DevOps, najmä v nástrojoch ako Ansible, sú úlohy alebo bloky kódu, ktoré sa vykonávajú iba za určitých podmienok — keď sú explicitne "oznámené" inou úlohou. Používajú sa na reštartovanie služieb, reštartovanie serverov alebo vykonanie iných akcií, ktoré by mali nastať iba po významných zmenách v konfigurácii.
Kľúčové vlastnosti:
- Vykonávajú sa na základe oznámenia: Handler sa spustí iba potom, čo ho jedna alebo viac úloh explicitne "oznámi" (napríklad pomocou
notifyv Ansible). - Jednorazové vykonanie: Aj keď niekoľko úloh oznámi ten istý handler, ten sa vykoná iba raz na konci playbooku alebo sekcie
include_tasks/import_tasks, kde je definovaný. Tým sa zabráni opakovanému reštartu služieb. - Deklaratívny prístup: Umožňuje deklaratívne určiť, aké akcie majú byť podniknuté pri zmene stavu systému, bez starostí o manuálne spúšťanie týchto akcií.
Príklad oznámenia handlera v úlohe Ansible:
- name: Konfigurácia webového servera
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: # Oznámenie handlera
- restart nginx
Definícia handlera:
handlers:
- name: restart nginx # Názov handlera, zhoduje sa s názvom v notify
service:
name: nginx
state: restarted