我正在运行以下代码:
<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,但我无法让它运行自定义任务并检查属性是否未设置。
有谁知道怎么做?
答案 0 :(得分:0)
您可以使用not
中的isset
和waitfor
条件来确保该变量未设置。
至于检查是否设置了isRunningJobs
,您可以使用parallel
创建单独的线程。