ansible任務的異步執(zhí)行

ansible方便在于能批量下發(fā),并返回結果和呈現(xiàn)孙乖。簡單、高效份氧。
但有的任務執(zhí)行起來卻不那么直接的圆,可能會花比較長的時間,甚至可能會比ssh的超時時間還要長半火。這種情況任務是不是沒法執(zhí)行了?
ansible考慮到了這種情況季俩,官方文檔介紹了這個問題的解決方法钮糖,就是讓下發(fā)的任務執(zhí)行的連接變?yōu)楫惒剑喝蝿障掳l(fā)之后,長連接不再保持酌住,而是每隔一段時間輪詢結果店归,直到任務結束。
這是官網相關的介紹
他們在playbook的任務中加入兩個參數(shù):async和poll酪我。

  • async參數(shù)值代表了這個任務執(zhí)行時間的上限值消痛。即任務執(zhí)行所用時間如果超出這個時間,則認為任務失敗都哭。此參數(shù)若未設置秩伞,則為同步執(zhí)行。
  • poll參數(shù)值代表了任務異步執(zhí)行時輪詢的時間間隔欺矫。
    官方給出例子:
  ----
    hosts: all
    remote_user: root
    tasks:
      - name: simulate long running op (15 sec), wait for up to 45 sec, poll every 5 sec
        command: /bin/sleep 15
        async: 45
        poll: 5

這時候已經不怕任務超時了纱新。可以執(zhí)行一個45s的任務穆趴,當然也可以根據需要自己設置脸爱。另外,如果poll為0未妹,就相當于一個不關心結果的任務簿废。

如果還想要更方便地看輪詢結果空入,ansible還提供了這個模塊async_status。

  ---
    # Requires ansible 1.8+
    - name: 'YUM - fire and forget task'
      yum: name=docker-io state=installed
      async: 1000
      poll: 0
      register: yum_sleeper

    - name: 'YUM - check on fire and forget task'
      async_status: jid={{ yum_sleeper.ansible_job_id }}
      register: job_result
      until: job_result.finished
      retries: 30

第一個job執(zhí)行異步任務族檬,并且注冊了一個名字叫yum_sleeper歪赢,用于提供給第二個job作為輪詢對象,并且poll設為0导梆,它自己不再輪詢轨淌。
第二個job使用async_status模塊,進行輪詢并返回輪詢結果看尼。準備檢查30次递鹉。結果如下:

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [cloudlab001]

TASK [YUM - fire and forget task] **********************************************
ok: [cloudlab001]

TASK [YUM - check on fire and forget task] *************************************
FAILED - RETRYING: TASK: YUM - check on fire and forget task (29 retries left).
FAILED - RETRYING: TASK: YUM - check on fire and forget task (28 retries left).
FAILED - RETRYING: TASK: YUM - check on fire and forget task (27 retries left).
FAILED - RETRYING: TASK: YUM - check on fire and forget task (26 retries left).
FAILED - RETRYING: TASK: YUM - check on fire and forget task (25 retries left).
FAILED - RETRYING: TASK: YUM - check on fire and forget task (24 retries left).
changed: [cloudlab001]

PLAY RECAP *********************************************************************
cloudlab001                : ok=3    changed=1    unreachable=0    failed=0
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市藏斩,隨后出現(xiàn)的幾起案子躏结,更是在濱河造成了極大的恐慌,老刑警劉巖狰域,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件媳拴,死亡現(xiàn)場離奇詭異,居然都是意外死亡兆览,警方通過查閱死者的電腦和手機屈溉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抬探,“玉大人子巾,你說我怎么就攤上這事⌒⊙梗” “怎么了线梗?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怠益。 經常有香客問我仪搔,道長,這世上最難降的妖魔是什么蜻牢? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任烤咧,我火速辦了婚禮,結果婚禮上抢呆,老公的妹妹穿的比我還像新娘髓削。我一直安慰自己,他們只是感情好镀娶,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布立膛。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宝泵。 梳的紋絲不亂的頭發(fā)上好啰,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音儿奶,去河邊找鬼框往。 笑死,一個胖子當著我的面吹牛闯捎,可吹牛的內容都是我干的椰弊。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼瓤鼻,長吁一口氣:“原來是場噩夢啊……” “哼秉版!你這毒婦竟也來了?” 一聲冷哼從身側響起茬祷,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤清焕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后祭犯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秸妥,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年沃粗,在試婚紗的時候發(fā)現(xiàn)自己被綠了粥惧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡最盅,死狀恐怖突雪,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情檩禾,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布疤祭,位于F島的核電站盼产,受9級特大地震影響,放射性物質發(fā)生泄漏勺馆。R本人自食惡果不足惜戏售,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望草穆。 院中可真熱鬧灌灾,春花似錦、人聲如沸悲柱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嘿般,卻和暖如春段标,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炉奴。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工逼庞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瞻赶。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓赛糟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親砸逊。 傳聞我的和親對象是個殘疾皇子璧南,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容

  • ansible 系統(tǒng)架構 ansible簡介ansible是新出現(xiàn)的自動化運維工具,ansible是一個配置管理和...
    運維阿文閱讀 9,561評論 1 52
  • 在項目中有很多地方用到ansible痹兜。最初使用ansible只是為了方便代碼部署和模板配置穆咐,畢竟手動去30+臺機器...
    __七把刀__閱讀 10,697評論 6 79
  • 默認情況下playbook中的任務執(zhí)行時會一直保持連接,直到該任務在每個節(jié)點都執(zhí)行完畢.有時這是不必要的,比如有些...
    lework閱讀 4,286評論 0 2
  • 1. 什么是Ansible,它有什么用字旭? Ansible它是個集配置管理和應用部署于一體的自動化運維工具对湃。 應用情...
    午覺不眠Orz閱讀 1,500評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)遗淳,斷路器拍柒,智...
    卡卡羅2017閱讀 134,601評論 18 139