Junior
Mis on handlerid?
sobes.tech AI
Vastus AI-lt
DevOps kontekstis, eriti sellistes tööriistades nagu Ansible, on Handlerid (Käsitlejad) ülesanded või koodiplokid, mis käivituvad ainult teatud tingimustel — kui neid selgelt "teavitab" teine ülesanne. Neid kasutatakse teenuste taaskäivitamiseks, serverite taaskäivitamiseks või muude toimingute tegemiseks, mis peaksid toimuma ainult pärast olulisi konfiguratsioonimuudatusi.
Peamised omadused:
- Teavituse alusel käivituvad: Handler käivitatakse ainult siis, kui üks või mitu ülesannet on selle selgelt "teavitanud" (näiteks Ansible'is kasutades
notify). - Ühekordne täitmine: Isegi kui mitu ülesannet teavitavad sama handlerit, täidetakse see ainult üks kord playbooki või
include_tasks/import_taskssektsiooni lõpus, kus see on määratletud. See takistab teenuste korduvat taaskäivitamist. - Deklaratiivne lähenemine: See võimaldab deklaratiivselt määratleda, millised toimingud tuleb teha süsteemi oleku muutmisel, ilma käsitsi käivitamata.
Näide handleri teavitamisest Ansible ülesandes:
- name: Veebiserveri konfiguratsioon
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: # Teavitame handlerit
- restart nginx
Handleri definitsioon:
handlers:
- name: restart nginx # Handleri nimi, sobib `notify`-s märgitud nimega
service:
name: nginx
state: restarted