ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <>
Subject Re: Problem with script task and properties
Date Thu, 18 May 2006 14:25:16 GMT
Dick, Brian E. wrote:
> This is a simplified script. I need to execute the script body several
> hundred times in a loop. I also need to run about twenty of them in
> parallel. Here's my business problem and the pseudo code for the
> solution. Maybe you can suggest another approach.
> Problem: Simultaneously detect a DNS ip address change on twenty remote
> hosts (window and unix).
> Solution:
> <for param="remotehost" list="host1..host20" parallel="true">
>    <sequence>
>       <remotepinguntil remotehost="@{host}" pinghost="theDNSHost"
> ipaddress="123.456.789.012"/>
>    </sequence>
> </for>
> <macrodef name="remotepinguntil">
>    <attribute name="remotehost"/>
>    <attribute name="pinghost"/>
>    <attribute name="ipaddress"/>
>    <!--
>      On @{remotehost} ping @{pinghost} until the ipaddress =
> @{ipaddress}
>    -->
> </macrodef>

1. I think you will get burned by the JVM's caching of IP addresses if 
you are not careful; you need to run jvms with IPAddr caching set to a 
second or two instead of forever.

2. If I had something this complex I'd probably drop to java, use the 
java1.5 ping api. If the nodes were all running smartfrog I'd deploy 
components onto each box that do their own testing, and fail if the 
condition is not met within a specified time period. Then I'd deploy 
them with a parent component that runs them all and fails if one of the 
children fail; have my hosted ant task do a blocking deployment of that 
and be laughing.

3. Ant1.7 will have an <isreachable> condition that works on java1.5.

4.  arp is the power tool for such situations; there is no ant task for 
it (yet).

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message