ansible之handlers之關於觸發事件

2021-10-01 23:12:50 字數 1144 閱讀 2853

觸發器的作用是主要當我們關注的事件發生變化的時候,我們所要進行的操作。

notify 這個action可用於再每個play的最後觸發,這樣可以避免有多次改變時每次都執行制定的操作。取而代之的就是當這些所有的變化發生完成後一次性執行制定的操作。

再notify中列出的操作成為handler,即notify呼叫handler中定義的操作

vim tomcat.yml
---

- hosts: tomcat

tasks:

- name: "nod1安裝httpd,並啟動"

- httpd_start #以上模組進行過修改則執行handlers的httpd_start

- name: "nod2安裝mysql,並啟動"

yum: name=mariadb,mariadb-server state=installed

notify:

- mysql_start #以上模組進行過修改則執行handlers的mysql_start

handlers:

- name: httpd_start #對應上面的notify

呼叫的過程是:在所有的關注的任務中,只有執行完才會進行最後的呼叫,同乙個服務只出發一次。在大型的處理的指令碼中可以避免我們的邏輯問題而出現的錯誤。執行結果:

ansible-playbook tomcat.yml
效果

Ansible之playbook,yaml檔案詳解

要學好ansible,playbook是必須的,playbook是yaml檔案格式,這令很多初次接觸yaml檔案的朋友痛苦不堪,什麼時候會用到 什麼時候不用到 頭大 不廢話,本文將結合python來問做yaml檔案的詳解 首先我們寫簡單的yaml,此段yaml語言和playbook無關,但是對於認識...

執行緒間通訊之Handler

使用handler在主線程和子執行緒之間傳遞訊息的機制,就是通過handler獲取主線程的訊息佇列,將子執行緒的訊息傳送到主線程的訊息佇列,由looper取出後交給目標handler處理。looper 首先主線程會初始化時呼叫looper.prepare 建立主線程的looper,建立的looper...

android之Handler的使用

handler訊息機制 首先在主線程中建立乙個handler,然後建立乙個訊息message物件,有兩種方法,new message和message.obtain,由handler發出到訊息佇列messagequeue,messagequeue中enqueuemessage方法,對所有的msg進行排...