2009-12-16 228 views
0

這是其在build.xml中定義使用螞蟻


目標名稱= 「重啓」

propertycopy名稱= 「remote.host」 從=「部署重啓目標代碼反彈多個服務器。 $ {target.env} .host。$ {remote.id}「

propertycopy name =」remote.port「from =」deploy。$ {target.env} .port。$ {remote.id}「

sshexec trust="true" 
    host="${remote.host}" 
    port="${remote.port}" 
    username="${scm.user}" 
    keyfile="${scm.user.key}" 
    command="sudo /usr/local/bin/bounce_jboss" 

目標


服務器信息在build.properties中定義。

上面的代碼工作正常,但重啓過程是非常晚BCAS其停止啓動服務器之一,後來其停止啓動另一臺服務器,

是否有一個地方,我可以並行地重新啓動這兩個服務器有一個辦法45秒的時間範圍。

回答

1

您是否調查過螞蟻Parallel task?您應該能夠使用它簡單地平行重新啓動。

例如

<parallel> 
    <!-- first server reboot --> 
    <ssh ...> 
    <!-- second server reboot --> 
    <ssh ...> 
</parallel> 
+0

是啊,我試過,即使這樣 \t <睡眠秒= 「45」/> Angrezy 2009-12-16 21:26:22

+0

將平行其中包含的任何內容。它在執行Ant腳本的其餘部分時不會在並行線程中運行某些內容。 – 2009-12-16 21:29:28

+0

所以(暫時)兩個ssh都需要運行任務 – 2009-12-16 21:30:43

0

並行任務將爲您工作。又如:

<target name="restart" ... > 
    <parallel> 
     <!-- first server reboot call --> 
     <!-- second server reboot call --> 
    </parallel> 
</target> 

從命令行:

>ant restart 

不執行 「蟻重啓」 的兩倍。只調用一次,你的服務器應該只重啓一次。

+0

這是怎麼了我加入: \t Angrezy 2009-12-17 14:26:31

+0

實際上build是在做一個並行的重啓,但是由於一些集羣問題,我想限制我的重啓,在第一次服務器重啓和第二次服務器重啓之間給出30到45秒的間隔。 – Angrezy 2009-12-17 15:40:02