我有点像 Ant n00b,但我希望这个问题不是太无厘头:
我有一段 Ant 脚本需要监视远程进程并报告它是成功还是失败。远程信息作为 REST 资源公开。它背后的过程可能需要几分钟,所以我可能需要轮询几次才能得到“进行中”以外的结果。
在非常粗糙的伪代码中,我需要这样的东西:
while(true) {
get REST resource status
if status='success' or status='failure'
break;
sleep 10
}
我知道我可以(ab)使用该<waitfor>
任务来反复评估一个条件,但我无法终生弄清楚那个条件应该是什么。我能想到的最好的方法是使用 a <scriptcondition>
,但是我遇到了 Rhino JS(Ant 使用的)没有XMLHttpRequest
发送 REST 查询的问题。
在 Ant 脚本的其他部分,我们使用<exec>
运行 curl 命令来与 REST 服务交互,但我不知道如何在<waitfor>
.
编辑:我忘了提到我(暂时)被 Ant 1.7.1 卡住了。此外,我意识到将其推送到外部(bash、python、php 等)脚本可能更容易,但我更愿意将其保留在 Ant 脚本中。