使用ant弹回多个服务器

时间:2009-12-16 21:21:28

标签: ant jboss exec restart build.xml

这是在build.xml

中定义的重启目标代码

目标名称=“重启”

propertycopy name =“remote.host”from =“deploy。$ {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中定义。

上面的代码工作正常,但是重启过程很晚才停止启动服务器一个停止启动另一个服务器,

有没有办法让我可以平行重启两台服务器,时间为45秒。

2 个答案:

答案 0 :(得分:1)

你有没有调查过Ant Parallel task?你应该能够简单地使用它来并行重新启动。

e.g。

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

答案 1 :(得分:0)

并行任务对您有用。另一个例子:

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

从命令行:

>ant restart

不要两次执行“ant restart”。只调用一次,服务器只能重启一次。