| <!DOCTYPE html> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html lang="en"> |
| |
| <head> |
| <link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> |
| <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>If both <var>maxwait</var> and <var>maxwaitunit</var> are not specified, |
| default <var>maxwait</var> is 3 minutes (180000 milliseconds).</p> |
| <p>If the <var>timeoutproperty</var> 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 class="attr"> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Description</th> |
| <th scope="col">Required</th> |
| </tr> |
| <tr> |
| <td>maxwait</td> |
| <td>The maximum amount of time to wait for all the required conditions to become true before |
| failing the task.</td> |
| <td>No; defaults to 180000 <var>maxwaitunit</var>s</td> |
| </tr> |
| <tr> |
| <td>maxwaitunit</td> |
| <td>The unit of time that must be used to interpret the value of the <var>maxwait</var> |
| attribute. Valid values are |
| <ul> |
| <li><q>millisecond</q></li> |
| <li><q>second</q></li> |
| <li><q>minute</q></li> |
| <li><q>hour</q></li> |
| <li><q>day</q></li> |
| <li><q>week</q></li> |
| </ul> |
| </td> |
| <td>No; defaults to <q>millisecond</q></td> |
| </tr> |
| <tr> |
| <td>checkevery</td> |
| <td>The amount of time to wait between each test of the conditions.</td> |
| <td>No; defaults to 500 <var>checkeveryunit</var>s</td> |
| </tr> |
| <tr> |
| <td>checkeveryunit</td> |
| <td>The unit of time that must be used to interpret the value of the <var>checkevery</var> |
| attribute. Valid values are |
| <ul> |
| <li><q>millisecond</q></li> |
| <li><q>second</q></li> |
| <li><q>minute</q></li> |
| <li><q>hour</q></li> |
| <li><q>day</q></li> |
| <li><q>week</q></li> |
| </ul> |
| </td> |
| <td>No; defaults to <q>millisecond</q></td> |
| </tr> |
| <tr> |
| <td>timeoutproperty</td> |
| <td>the name of the property to set if <var>maxwait</var> has been exceeded.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| |
| <h3 id="nested">Parameters specified as nested elements</h3> |
| <p>The available conditions that satisfy the <code><waitfor></code> task are the same as those |
| for the <a href="condition.html"><code><condition></code></a> |
| task. See <a href="conditions.html">here</a> for the full list.</p> |
| |
| <h3>Examples</h3> |
| |
| <p>Wait up to 30 seconds for a file called <samp>errors.log</samp> to appear.</p> |
| <pre> |
| <waitfor maxwait="30" maxwaitunit="second"> |
| <available file="errors.log"/> |
| </waitfor></pre> |
| |
| <p>Wait up to 3 minutes (and checks every 500 milliseconds) for a web server |
| on <samp>localhost</samp> to serve up the specified URL.</p> |
| <pre> |
| <waitfor maxwait="3" maxwaitunit="minute" checkevery="500"> |
| <http url="https://localhost/myapp/index.html"/> |
| </waitfor></pre> |
| |
| <p>Wait up to 10 seconds for a server on the <samp>dbserver</samp> machine to begin listening on |
| port 1521 and for the <samp>https://webserver/mypage.html</samp> web page to become available.</p> |
| <pre> |
| <waitfor maxwait="10" maxwaitunit="second"> |
| <and> |
| <socket server="dbserver" port="1521"/> |
| <http url="https://webserver/mypage.html"/> |
| </and> |
| </waitfor></pre> |
| |
| </body> |
| </html> |