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ブロックを変更して、isRunningJobsが設定されていない場合は、設定を解除して1時間待つまで、たとえば6時間、queryForRunningJobが1時間ごとに発生するようにします。

waitForを使おうとしていますが、カスタムタスクを実行したり、プロパティが設定されていないことを確認したりすることができません。

誰かがこれを行う方法を知っていますか?

4

1 に答える 1

0

notでおよびisset条件を使用しwaitforて、変数が設定されていないことを確認できます。

が設定されているかどうかの確認についてisRunningJobsは、 を使用して別のスレッドを作成できますparallel

于 2016-07-25T16:47:26.307 に答える