蚂蚁的生产者 - 消费者模式

时间:2014-10-22 21:23:24

标签: ant

这不是严格意义上的生产者 - 消费者模式,但这足以描述我的问题。

我有一个需要N个进程消耗的项目列表。我想在一个项目免费时为其分配一个流程编号,而不是硬编码。

例如,要运行测试,可以调用:

<runTest target="t1">
    <property name="instance" value="i1" />
</runTest>

如果我手头有i1i3,并且t1t10个测试要运行,我可以这样做:

<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>

然后我会等待这个完成并运行相同的不同目标。我也可以循环这整个代码来减少繁琐。但是,有可能在完成上一个目标后立即获取目标并将其提供给实例吗?

2 个答案:

答案 0 :(得分:0)

也许这个问题在ANT之外更容易解决?

我建议您查看像Jenkins这样的自动构建引擎。它能够将构建作业委派给工作进程池,可以在本地运行,也可以在“从”节点上运行。 Jenkins还有许多流程工作流插件,可以根据其他工作的成功或失败来运行作业。这就是持续集成/交付管道的实现方式。

希望有所帮助。

答案 1 :(得分:0)

由于parallel任务和for任务太原始而无法处理这种类型的需求,如果有人使用Ant,我的观点是新的ant任务(教程{{3应该编写来处理这种行为。

我也意识到我们可以使用&#34;脚本&#34;任务是编写一小段代码,比如Ruby或Javascript,以实现相同的目标。