日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

salt 执行命令等待_saltstack异步执行命令

發布時間:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 salt 执行命令等待_saltstack异步执行命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Saltstack異步執行命令

salt執行命令有時候會有超時的問題,就是命令下發下去了,部分主機沒有返回信息,這時候就很難判斷命令或任務是否執行成功。因此,salt提供異步執行的功能,發出命令后立即返回一個jid。然后我們就可以根據這個jid來查詢任務是否執行成功。

命令行實現異步

參數--async,返回job ID,根據job ID我們可以查詢執行結果。

salt?--async?'*'?test.ping

salt-run?jobs.lookup_jid?20161117163153353501

-v參數在返回結果的同時,一同返回本次任務的jid,如果超時還是會返回jid

salt?-v?'*'?test.ping

API實現異步

任務執行代碼樣例,通過async方法執行異步命令獲取返回job id,通過job方法查看執行結果。

import?requests

import?json

def?async(fun,?tgt):

"""

異步任務,獲取jid

"""

params?=?{'client':?'local_async',?'fun':?fun,?'tgt':?tgt}

headers?=?{'X-Auth-Token':?登陸時獲取的token}

try:

ret?=?requests.post(https://ip:port/,?data=params,?headers=headers,?verify=False)

ret?=?json.loads(ret.text)

return?ret['return'][0]['jid']

except?Exception?as?err:

print?err

def?jobs_all(jid=None):

"""

job_id=None,?查看salt?cache中所有的job任務的執行結果

job_id傳值時,查看指定job?id的執行結果

"""

headers?=?{'X-Auth-Token':?登陸時獲取的token}

try:

if?jid?is?None:

ret?=?requests.get(https://ip:port/jobs,?headers=headers,?verify=False)

else:

ret?=?requests.get('https://ip:port/jobs'?+?jid,?headers=headers,?verify=False)

ret?=?json.loads(ret.text)

return?ret

except?Exception?as?err:

logger.error(err)

jid?=?async('test.ping',?'*')

jobs_all()

jobs_all(jid=jid)

本文出自https://www.cnblogs.com/shhnwangjian/p/6074445.html

總結

以上是生活随笔為你收集整理的salt 执行命令等待_saltstack异步执行命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。