playbook中的notify和handlers模块

notify:

触发标识,含有notify的任务需要触发处理程序才能彻底完成。

handlers:

处理程序的标识,被notify调用的处理程序的执行位置。往往放在所有任务之后执行。

使用过程中,notify和handlers是通过名称匹配,所以要求notify和handlers任务名称,必须相同,才可调用

处理程序的使用:

1、处理程序始终按照play的handlers部分指定的顺序运行,与notify中的顺序无关;

2、处理程序通常在相关play中所有其他任务运行完后运行 ;

3、处理程序名称存在于个play命名空间中(如果两个处理程序同名,只会运行一个);

4、如果多个任务通知(notify)处理程序,处理程序也只会运行一次 ;

5、如果包含notify的语句任务没有报告changed结果,则处理程序不会获得通知。

举例:

#多通知,多处理程序
  1 ---
  2 - name: template
  3   hosts: webservera
  4   tasks:
  5     - name: copy file
  6       template:
  7         src: files/example.conf
  8         dest: /etc/httpd/conf.d/example.conf
  9       notify:              ##多个通知名称
 10         - restart apache
 11         - restart mysql
 12   handlers:                  ##处理程序任务
 13     - name: restart apache   ##名称必须匹配
 14       service:
 15         name: httpd
 16         state: restarted
 17     - name: restart mysql    ##名称必须匹配
 18       service:
 19         name: mariadb
 20         state: restarted
图1 结果标识
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值