How can I apply a timeout to an Ant task?

2019-06-17 08:43发布

问题:

Without writing a custom Ant task, is there a way to use a timeout on a regular ant target?

To give some background info: we are using the 'delete' task to remove the contents of a given directory. Sometimes this directory is massive, with lots of generated folders and files. We wanted to have that task timeout after, say, 5 minutes.

回答1:

You might use the parallel task, which has a timeout, with a parallel degree of one:

<target name="timed_del">
    <parallel threadCount="1" timeout="300000">
        <sequential>
            ... your tasks here ...
        </sequential>
    </parallel>
</target>


回答2:

You can also use the limit task.

<target name="my-target">
  <limit seconds="2" failonerror="true">
    <sshexec ... />
  </limit>
</target>


标签: ant timeout