handlers
This commit is contained in:
@@ -251,3 +251,32 @@ Un esempio di **gestione di errori**:
|
|||||||
```
|
```
|
||||||
|
|
||||||
In questo caso, il task nella sezione `rescue` viene eseguito solo se il comando /bin/false fallisce, mentre il task nella sezione `always` viene eseguito in ogni circostanza.
|
In questo caso, il task nella sezione `rescue` viene eseguito solo se il comando /bin/false fallisce, mentre il task nella sezione `always` viene eseguito in ogni circostanza.
|
||||||
|
|
||||||
|
## Handlers
|
||||||
|
|
||||||
|
Gli `handler` in Ansible consentono l'esecuzione condizionale di specifiche operazioni, attivate solo quando un task determina modifiche su un nodo target.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
- name: playbook with handlers
|
||||||
|
hosts: db
|
||||||
|
become: true
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: install httpd
|
||||||
|
yum:
|
||||||
|
name: httpd
|
||||||
|
state: present
|
||||||
|
notify:
|
||||||
|
- Start httpd
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- name: Start httpd
|
||||||
|
service:
|
||||||
|
name: httpd
|
||||||
|
state: started
|
||||||
|
```
|
||||||
|
|
||||||
|
La parola chiave `notify` serve a richiamare l’handler specificato. Durante la prima esecuzione, una volta installato il software httpd, l’handler verrà attivato e avvierà il servizio. Nelle esecuzioni successive, qualora il pacchetto sia già presente e non subisca modifiche, il task non verrà eseguito e, di conseguenza, neppure l’handler associato verrà richiamato.
|
||||||
|
|
||||||
|
Per impostazione predefinita, gli handlers vengono eseguiti solo dopo che tutti i task del playbook sono stati completati. Questo significa che, anche se più task notificano lo stesso handler, quest’ultimo verrà eseguito una sola volta.
|
||||||
|
|||||||
Reference in New Issue
Block a user