<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<title>WaitFor Task</title>
</head>

<body>

<h2>Waitfor</h2>
<h3>Description</h3>
<p>Blocks execution until a set of specified conditions become true. This is intended
  to be used with the <a href="parallel.html">parallel</a> task to
  synchronize a set of processes.</p>
<p>The conditions to wait for are defined in <a href="waitfor.html#nested">nested elements</a>,
if multiple conditions are specified, then the task will wait until all conditions are true..</p>
<p></p>
<p>If both maxwait and maxwaitunit are not specified, the maxwait is 3 minutes (180000 milliseconds).</p>
<p>If the <code>timeoutproperty</code> attribute has been set, a
property of that name will be created if the condition didn't come
true within the specified time.</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <td valign="top"><b>Attribute</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
  </tr>
  <tr>
    <td valign="top">maxwait</td>
    <td valign="top">The maximum amount of time to wait for all the required conditions
      to become true before failing the task. Defaults to 180000 maxwaitunits.</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">maxwaitunit</td>
    <td valign="top">The unit of time that must be used to interpret the value of the
    maxwait attribute.  Defaults to millisecond.
                     Valid Values are
                     <ul>
                        <li>millisecond</li>
                        <li>second</li>
                        <li>minute</li>
                        <li>hour</li>
                        <li>day</li>
                        <li>week</li>
                     </ul>
      </td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">checkevery</td>
    <td valign="top">The amount of time to wait between each test of the conditions.
      Defaults to 500 checkeveryunits.</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">checkeveryunit</td>
    <td valign="top">The unit of time that must be used to interpret the value of the
    checkevery attribute.  Defaults to millisecond.
                     Valid Values are
                     <ul>
                        <li>millisecond</li>
                        <li>second</li>
                        <li>minute</li>
                        <li>hour</li>
                        <li>day</li>
                        <li>week</li>
                     </ul>
    </td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">timeoutproperty</td>
    <td valign="top">the name of the property to set if maxwait has
      been exceeded.</td>
    <td valign="top" align="center">No</td>
  </tr>
</table>
<h3><a name="nested">Nested Elements</a></h3>

<p>The available conditions that satisfy the
<code>&lt;waitfor&gt;</code> task are the same as those for the
<a href="condition.html"><code>&lt;condition&gt;</code></a> task. See
<a href="conditions.html">here</a> for the full list.</p>

<h3>Examples</h3>
<blockquote>
  <p><code>&lt;waitfor maxwait=&quot;30&quot; maxwaitunit=&quot;second&quot;&gt;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;available file="errors.log"/&gt;<br>
    &lt;/waitfor&gt;</code></p>
</blockquote>
<p>waits up to 30 seconds for a file called errors.log to appear.</p>
<blockquote>
  <p><code>&lt;waitfor maxwait=&quot;3&quot; maxwaitunit=&quot;minute&quot; checkevery=&quot;500&quot;&gt;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;http url=&quot;http://localhost/myapp/index.html&quot;/&gt;<br>
    &lt;/waitfor&gt;</code></p>
</blockquote>
<p>waits up to 3 minutes (and checks every 500 milliseconds) for a web server on localhost
  to serve up the specified URL.</p>
<blockquote>
  <p><code>&lt;waitfor maxwait=&quot;10&quot; maxwait=&quot;second&quot;&gt;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;and&gt;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;socket server=&quot;dbserver&quot; port=&quot;1521&quot;/&gt;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;http url=&quot;http://webserver/mypage.html&quot;/&gt;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;/and&gt;<br>
    &lt;/waitfor&gt;</code></p>
</blockquote>
<p>waits up to 10 seconds for a server on the dbserver machine to begin listening
  on port 1521 and for the http://webserver/mypage.html web page
  to become available.</p>
<hr><p align="center">Copyright &copy; 2001 Apache Software Foundation. All rights
Reserved.</p>

</body>
</html>