Junior
Šta su handleri?
sobes.tech АИ
Одговор од АИ
Handleri (Обradači) u kontekstu DevOps-a, posebno u alatima kao što je Ansible, su zadaci ili blokovi koda koji se izvršavaju samo pod određenim uslovima — kada ih eksplicitno "obavesti" druga zadatak. Oni se koriste za restartovanje usluga, restartovanje servera ili izvršavanje drugih radnji koje treba da se dogode samo nakon značajnih promena u konfiguraciji.
Ključne osobine:
- Izvršavaju se na obaveštenje: Handler se pokreće samo nakon što ga jedna ili više zadataka eksplicitno "obaveste" (npr., pomoću
notifyu Ansible). - Jednokratno izvršenje: Čak i ako više zadataka obavesti isti handler, on će se izvršiti samo jednom na kraju playbook-a ili sekcije
include_tasks/import_tasksgde je definisan. Ovo sprečava višestruko restartovanje usluga. - Deklarativni pristup: Omogućava deklarativno definisanje koje radnje treba preduzeti pri promeni stanja sistema, bez brige o ručnom pokretanju tih radnji.
Primer obaveštenja handlera u Ansible zadatku:
- name: Konfiguracija web servera
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: # Obaveštavamo handler
- restart nginx
Definicija handlera:
handlers:
- name: restart nginx # Ime handlera, poklapa se sa imenom u notify
service:
name: nginx
state: restarted