# Handlers: Running Operations On Change
- task의 맨 뒤에 notify action 설정(handler의 이름으로 호출)
- 여러 번 조건을 만족해도 단 한번만 실행됨
- handler는 특별한 task의 list이며 이름으로 참조됨
- 대개 service restart 등에 쓰임
handler는 변경이 있을 때 작업을 수행하는 것이다.
'notify' action은 play의 각 task들이 끝날때 시작된다.
여러 작업으로 알림을 받더라도 한번만 트리거된다.
예를 들어, apche의 여러 설정 파일들이 변경된 경우 apache를 재시작해야합니다.
apache는 불필요한 재시작을 피해기 위한 한번만 재시작합니다.
다음은 /etc/foo.conf 파일이 변경된 경우,
memchched, apache를 재기동하는 예제입니다.
- name: template configuration file template: src: template.j2 dest: /etc/foo.conf notify: - restart memcached - restart apache |
notify task 섹션에 나열된 항목을 핸들러라고합니다.
# example handlers section |
handlers: - name: restart memcached service: name: memcached state: restarted - name: restart apache service: name: apache state: restarted |
# 참고 사이트
https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html
https://moonstrike.github.io/ansible/2016/09/22/Ansible-Playbooks.html
'Tool > ansible' 카테고리의 다른 글
ansible에서 문자열 split 방법 (0) | 2019.03.18 |
---|---|
ansible role template 생성하기 (0) | 2019.02.01 |
serial keyword를 이용한 rolling update (0) | 2019.01.29 |
ansible-vault를 이용한 암호화 (0) | 2019.01.29 |
ansible source build (0) | 2019.01.29 |