标签:ansible
Handlers 在发生改变时执行的操作
module具有幂等性,所以当远端系统被人改动时,可以重放playbooks达到恢复的
目的。playbooks本身可以识别这种改动,并且有一个基本的event system,可以
响应这种改动
notify actions会在playbook的每一个task结束时被触发,而且即使有多个不同
的task通知改动的发生,notify actions只会被触发一次
举例来说,比如多个resources指出因为一个配置文件被改动,所以apache需要重
新启动,但是重新启动的操作只会被执行一次
这里有一个例子,当一个文件的内容被改动时,重启两个services
- name: template configuration file
template: src=template.j2 dest=/etc/foo.conf
notify:
- restart memcached
- restart apache
notify下列出的即是handlers
handlers也是一些task的列表,通过名字来引用,它们和一般的task并没有什么
区别。handlers是由通知者进行notify,如果没有被notify,handlers不会执行
不管多少个通知者进行了notify,等到play中的所有task执行完成之后
handlers也不会被执行一次
这里是一个handlers的示例
handlers:
- name: restart memcached
service: name=memcached state=restarted
- name: restart apache
service: name=apache state=restarted
Handlers最佳的应用场景是用来重启服务,或者触发系统重启操作,除此以外很
少用到了
本文出自 “八英里” 博客,谢绝转载!
ansible学习笔记5-playbooks之handlers
标签:ansible
原文地址:http://5921271.blog.51cto.com/5911271/1774665