zoukankan      html  css  js  c++  java
  • ansible handlers

    示例:安装nginx

    ---
     - hosts: hadoop    #指定主机组
       remote_user: root    #远程执行命令的用户
       gather_facts: no     #是否获取远程主机的信息
    
       tasks:
         - name: install nginx
           yum:
             name: nginx
             state: present
           notify: restart nginx        #通知机制,当这个任务执行的时候,通知handlers执行
         - name: start nginx server
           service:
             name: nginx
             state: started
    
       handlers:
         - name: restart nginx
           service:
             name: nginx
             state: restarted

    注:在剧本编写完以后,可以使用--syntax-check检查剧本的语法是否有问题,使用--check或者-C来预执行剧本。

    handlers的用处:一般是当修改某个配置文件的时候,通过handlers来执行某个任务。

    一般情况下,handlers的执行需要在所以的tasks执行完以后才开始执行,那么如果想要在执行某一个tasks以后就执行对应的handlers呢?这个时候需要使用一个模块:meta

    用法: - meta: flush_handlers

    如:

    ---
     - hosts: hadoop    #指定主机组
       remote_user: root    #远程执行命令的用户
       gather_facts: no     #是否获取远程主机的信息
    
       tasks:
         - name: install nginx
           yum:
             name: nginx
             state: present
           notify: restart nginx        #通知机制,当这个任务执行的时候,通知handlers执行
    -meta: flush_handlers
    - name: start nginx server service: name: nginx state: started handlers: - name: restart nginx service: name: nginx state: restarted

    在某些情况下,可能需要同时调用多个handlers,或者handlers调用其他的handlers。

    1、一个任务同时调用多个handlers。

    - name: test
      command: /test.sh
       notify:
         - restart nginx
         - restart mysql

    2、要handlers调用handlers,则在handlers中直接使用notify

    handlers:
      - name: test
        service:
          name: nginx
          state: restarted
        notify: restart mysql

     当剧本执行失败以后,handlers可能并没有被触发,也就不会执行了,如果想不管任务是否成功执行,都强制执行handlers。

    在这个时候,可以在执行playboox的时候,添加--force-handlers来强制执行handlers

  • 相关阅读:
    ACM ICPC 2008–2009 NEERC MSC A, B, C, G, L
    POJ 1088 滑雪 DP
    UVA 11584 最短回文串划分 DP
    POJ 2531 Network Saboteur DFS+剪枝
    UVa 10739 String to Palindrome 字符串dp
    UVa 11151 Longest Palindrome 字符串dp
    UVa 10154 Weights and Measures dp 降维
    UVa 10271 Chopsticks dp
    UVa 10617 Again Palindrome 字符串dp
    UVa 10651 Pebble Solitaire 状态压缩 dp
  • 原文地址:https://www.cnblogs.com/yjt1993/p/10968434.html
Copyright © 2011-2022 走看看