2

我正在运行以下代码:

 <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,但我无法让它运行自定义任务并检查该属性是否未设置。

有谁知道如何做到这一点?

4

1 回答 1

0

您可以使用notandisset中的条件waitfor来确保未设置变量。

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

于 2016-07-25T16:47:26.307 回答