这不是严格意义上的生产者 - 消费者模式,但这足以描述我的问题。
我有一个需要N个进程消耗的项目列表。我想在一个项目免费时为其分配一个流程编号,而不是硬编码。
例如,要运行测试,可以调用:
<runTest target="t1">
<property name="instance" value="i1" />
</runTest>
如果我手头有i1
到i3
,并且t1
到t10
个测试要运行,我可以这样做:
<parallel>
<runTest target="t1">
<property name="instance" value="i1" />
</runTest>
<runTest target="t2">
<property name="instance" value="i2" />
</runTest>
<runTest target="t3">
<property name="instance" value="i3" />
</runTest>
<parallel>
然后我会等待这个完成并运行相同的不同目标。我也可以循环这整个代码来减少繁琐。但是,有可能在完成上一个目标后立即获取目标并将其提供给实例吗?
答案 0 :(得分:0)
也许这个问题在ANT之外更容易解决?
我建议您查看像Jenkins这样的自动构建引擎。它能够将构建作业委派给工作进程池,可以在本地运行,也可以在“从”节点上运行。 Jenkins还有许多流程工作流插件,可以根据其他工作的成功或失败来运行作业。这就是持续集成/交付管道的实现方式。
希望有所帮助。
答案 1 :(得分:0)