Ant使用waitfor运行任务,直到设置了属性

时间:2012-09-14 15:33:14

标签: ant ant-contrib

我正在运行以下代码:

 <target name="_queryForRunningJobs">
   <ac:trycatch property="NODE_Reboot.failed">
     <try>

       <queryForRunningJob action="queryForRunningJob" jenkinsbaseURL="${targetRSSURL}" property="isRunningJobs" ignoreJobsLike="${ignore.jobs.like}"/>
       <echo message="${isRunningJobs}"/>
       <fail message="There is at least one job currently running on ${targetRSSURL}">
         <condition>
           <isset property="isRunningJobs"/>
         </condition>
       </fail>
     </try>

     <catch>
       <echo message="NODE_Reboot EXCEPTION: ${NODE_Reboot.failed}"/>
       <property name="reboot.failed.execution" value="${NODE_Reboot.failed"/>  
       <ac:var name="isRunningJobs" unset="true"/>
     </catch>

     <finally>
     </finally>
  </ac:trycatch>
</target>

我想更改try块,以便queryForRunningJob每小时发生6个小时,直到isRunningJobs未设置,如果是我取消设置并等待一个小时。

我一直在尝试使用waitFor,但我无法让它运行自定义任务并检查属性是否未设置。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用not中的issetwaitfor条件来确保该变量未设置。

至于检查是否设置了isRunningJobs,您可以使用parallel创建单独的线程。