ansibleAPI怎麼做非同步

2022-09-06 01:57:06 字數 1738 閱讀 8770

在直接使用 ansible 時候有-b -p 引數可以啟用非同步操作,然後返回乙個 job_id 值

[root@master ansible]# ansible node1 -b 3600 -p 0  -m yum -a "

name=ansible

" -vv

using /etc/ansible/ansible.cfg as config file

meta: ran handlers

192.168.77.129 | success =>

[root@master ansible]# ansible node1 -m async_status -a "

jid=23974611070.37468

"192.168.77.129 | success =>

playbook 也是可以指定引數啟用非同步的。

#

asynctest.yml

----hosts: node1

tasks:

- shell: sleep 100 &&hostname

async: 100poll: 0

register: result

- debug: var=result

- async_status: jid=}

register: job_result

until: job_result.finished

retries: 30

那麼在 ansible api 裡對於 ad-hoc 和 playbook 怎麼啟用這個非同步任務的,不然頁面有時候要卡好久在那的。

def run_model(self, module_name, module_args, task_time=none, poll=none):

"""run module from andible ad-hoc.

module_name: ansible module_name

module_args: ansible module args

task_time: 這個任務執行時間的上限值。即任務執行所用時間如果超出這個時間,則認為任務失敗。這個需要大於0,等於 0 的時候不支援非同步(預設值)。

poll: 任務非同步執行時輪詢的時間間隔。如果poll為0,就相當於乙個不關心結果的任務。

"""self.ips_cov_str()

if task_time and poll:

play_source = dict(

name="ansible play",

hosts=self.ips,

gather_facts='no',

tasks=[dict(action=dict(module=module_name, args=module_args), async=task_time, poll=poll)]

)else:

play_source = dict(

name="ansible play",

hosts=self.ips,

gather_facts='no',

tasks=[dict(action=dict(module=module_name, args=module_args))]

)play = play().load(play_source, variable_manager=self.variable_manager, loader=self.loader)

.......

怎麼做產品

和使用者交流是為了做出更好的 產品 打造更好的體驗,但真正好的產品出現之前,使用者也不知道他們想要什麼 比如,在汽車沒出現的馬車時代,使用者會說 我需要一匹更快的馬 那些情緒激動 很生氣的使用者常常能變為最忠實的使用者,只要你能夠打動他們。所以,情緒裡有絕對的價值,如果你能在這些使用者生氣的時候,好...

直播怎麼做?

1 手機 那麼手機直播需要哪些裝置呢,首先是一部畫素高的手機,這個就不具體說明了。其次是光源,也就是補光燈,布光是一門專業的學科,有興趣的同學可以找點資料深入了解一下。一般在環境光充足的情況下可以直接選擇那種燈 支架一體的,可自行某寶。3 攝像頭 我們平時所看的才藝主播,帶貨主播,遊戲主播,絕大部分...

seo優化方案怎麼做?seo怎麼做優化?

但要害詞在優化之前應該先進行選擇,這一項作業意義嚴峻。一些短要害詞雖然上手,但越是上手的要害詞流量就越為大公司所把控。中小型企業在優化這些要害詞時會好不容易且難以收到成效。所以關於新 或是一些中小型的企業來說,選擇一些較為簡略優化的要害詞就顯得尤為要害。要害詞優化的難易度可以通過查詢要害詞查詢熱度來...