国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Fabric 實(shí)踐:local 并發(fā)執(zhí)行

kviccn / 776人閱讀

摘要:環(huán)境服務(wù)器目標(biāo)服務(wù)器組一共臺(tái)服務(wù)器需求我需要把我服務(wù)器上的某些文件同步到集群,但是我又需要并發(fā)執(zhí)行,而不是通過(guò)循環(huán)或者是串行的方式。

環(huán)境:
fabric 服務(wù)器:10.10.1.1
目標(biāo)服務(wù)器組:test.com (10.10.1.2-21)一共 20 臺(tái)服務(wù)器

需求:

我需要把我 fabric 服務(wù)器上的某些文件同步到 test.com 集群,但是我又需要并發(fā)執(zhí)行,而不是通過(guò) for 循環(huán)或者是串行的方式。

先直接上代碼再針對(duì)性的解釋:

#!/usr/bin/python env
#-*- coding: utf-8 -*-

from fabric.api import env
from fabric.api import run
from fabric.api import put
from fabric.api import execute
from fabric.api import roles
from fabric.api import parallel
from fabric.api import cd
from fabric.api import lcd
from fabric.api import task
from fabric.api import local
from fabric.api import settings
from fabric.api import hide
from fabric.colors import red ### 使輸出有色彩
from fabric.colors import green

### 下面這個(gè)角色在我實(shí)際的使用中,我是不需要填寫的,因?yàn)槲覍?shí)際使用是從 CMDB 動(dòng)態(tài)獲取集群的服務(wù)器列表的。為了測(cè)試,所以弄了下面的

env.user = "test"
env.password = "test"
env.roledefs = {
   "test.com":["10.10.1.2","10.10.1.3","10.10.1.4","10.10.1.5",......],# 省略下,
}


######### reload data and rsync data###########
def rsync_test(host): ### 傳入 host 主機(jī) IP 參數(shù)
    with settings(hide("running","stdout"), warn_only=True): ## hide 是表示不輸入信息到 sreen,可以寫 "everything","stderr","running" 等等
        with lcd("/tmp/"):
           result = local("rsync -Pav test "%s":/tmp/" % host) ### 根據(jù)不同的主機(jī) rsync 到不同的主機(jī)服務(wù)器
           if result.return_code == 0: ##可以根據(jù)上面數(shù)據(jù)是否成功執(zhí)行下一步操作。
               print (green("-------------------------"))
               print (red("*******主機(jī) %s 同步數(shù)據(jù)成功******" % host))
               print (green("-------------------------"))
           else:
               print (green("-------------------------"))
               print (red("*******主機(jī) %s 同步數(shù)據(jù)失敗******" % host))
               print (green("-------------------------"))

@task
@roles("test.com")
@parallel(pool_size=16)
def execute_rsync():
    execute(rsync_test, env.host) ### 讀取 @roles("test.com") 里面的主機(jī),并把 host 傳遞給 rsync_test 函數(shù),并且 @parallel(pool_size=16) 來(lái)并發(fā)


@roles("test.com")
@parallel(pool_size=5)
def echo_hello():
    run("echo "hello world!"")

執(zhí)行任務(wù):

fab execute_rsync

輸出是:

#### 省略抹除了一些信息

同步數(shù)據(jù)成功******
-------------------------

Done.

real    0m1.263s
user    0m0.793s
sys     0m0.689s

如果沒(méi)有使用并發(fā)的話,執(zhí)行時(shí)間為:

-------------------------

Done.

real    0m3.680s
user    0m0.664s
sys     0m0.512s

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/37483.html

相關(guān)文章

  • SSH連接與自動(dòng)化部署工具paramiko與Fabric

    摘要:是基于實(shí)現(xiàn)的遠(yuǎn)程安全連接,支持認(rèn)證及密鑰方法。利用函數(shù)發(fā)送到,通過(guò)函數(shù)獲取回顯。如下全局屬性設(shè)定對(duì)象的作用是定義的全局設(shè)定,支持多個(gè)屬性及自定義屬性。相比確實(shí)簡(jiǎn)化了不少。出現(xiàn)異常時(shí),發(fā)出警告,繼續(xù)執(zhí)行,不要終止。 paramiko paramiko是基于Python實(shí)現(xiàn)的SSH2遠(yuǎn)程安全連接,支持認(rèn)證及密鑰方法。可以實(shí)現(xiàn)遠(yuǎn)程命令執(zhí)行,文件傳輸,中間SSH代理等功能,相對(duì)于Pexpect...

    ermaoL 評(píng)論0 收藏0
  • Hyperledger Fabric周周記:起源

    摘要:作為系列的新篇章,我選擇從超級(jí)賬本的開始。為什么選擇超級(jí)賬本作為起點(diǎn)我在之前的文章中曾說(shuō)過(guò)會(huì)從超級(jí)賬本入手開始區(qū)塊鏈的學(xué)習(xí)和實(shí)踐,同時(shí)也給出了個(gè)人的理由。檢查事務(wù)提議的響應(yīng)。為了降低區(qū)塊鏈應(yīng)用的開發(fā)難度,超級(jí)賬本項(xiàng)目又引入了。 本著以教帶學(xué),Learning by Doing的想法,我于上周加入了Bob組織的HiBlock區(qū)塊鏈技術(shù)布道群。這個(gè)群可不太好混,群規(guī)要求每個(gè)成員必需每周有輸...

    hatlonely 評(píng)論0 收藏0
  • 在Centos6.3安裝Python Fabric運(yùn)行環(huán)境

    摘要:背景在下安裝的時(shí)候,總是安裝不成功,在執(zhí)行命令的時(shí)候,總是會(huì)拋出錯(cuò)誤。解決方案安裝替代系統(tǒng)默認(rèn)的再安裝包系統(tǒng)默認(rèn)自帶的版本是下載安裝包在的官網(wǎng)下載頁(yè)面下載的源碼包。在下安裝就省事很多。附上執(zhí)行簡(jiǎn)單部署的一份代碼例子,僅供參考。 背景 在Centos6.3下安裝fabric的時(shí)候,總是安裝不成功,在執(zhí)行fab命令的時(shí)候,總是會(huì)拋出錯(cuò)誤。 Traceback (most recent ...

    HackerShell 評(píng)論0 收藏0
  • 區(qū)塊鏈開發(fā)中使用的最流行的編程語(yǔ)言

    摘要:我們目前正處于一個(gè)新興的區(qū)塊鏈開發(fā)行業(yè)中。,一種在以太坊開發(fā)人員中流行的新的簡(jiǎn)單編程語(yǔ)言,因?yàn)樗怯糜陂_發(fā)以太坊智能合約的語(yǔ)言。它是全球至少萬(wàn)開發(fā)人員使用的世界上最流行的編程語(yǔ)言之一。以太坊,主要是針對(duì)工程師使用進(jìn)行區(qū)塊鏈以太坊開發(fā)的詳解。 我們目前正處于一個(gè)新興的區(qū)塊鏈開發(fā)行業(yè)中。區(qū)塊鏈技術(shù)處于初期階段,然而這種顛覆性技術(shù)已經(jīng)成功地風(fēng)靡全球,并且最近經(jīng)歷了一場(chǎng)與眾不同的繁榮。由于許多...

    2shou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<