4

我正在尝试在 Ant 上运行并行任务。
用户提供服务器列表(-Drhosts="rhost1,rhost2,..."),系统每次只能使用不同的主机启动相同的目标。
<ac:for>并且<ac:foreach>只支持<sequential>,不支持<parallel>

任何想法?

4

2 回答 2

9

它通过指定一个属性来支持并行运行。

Ant-contrib<for>任务参数:

parallel
如果为 true,则嵌套的所有迭代都将并行执行。默认为 false,强制按顺序执行迭代。由调用者确保并行执行是安全的。

threadCount
并行执行时允许的最大线程数。

所以如果你可以设置parallel="true". <sequential>请注意,与嵌套元素无关,因为里面的任务<sequential>还是按顺序执行的;通过设置parallel参数,你告诉<for>任务同时执行多个<sequential>s——多少个?这取决于列表中元素的数量以及threadCount.

请检查

http://ant-contrib.sourceforge.net/tasks/tasks/for.html

查看所有参数。


对于<foreach>任务,它为列表中的每个元素或嵌套文件集中的每个文件执行指定的目标。您还可以使用parallel属性使执行并行。

查看

http://ant-contrib.sourceforge.net/tasks/tasks/foreach.html

于 2012-08-30T02:36:44.263 回答
0

这是示例代码:

 <for list="some_list" param="list_param" delimiter="any_delimiter" parallel="true">
     <sequential>
        ...         
     </sequential>
 </for>
于 2012-09-08T07:35:05.447 回答