2011-12-08 4 views
1

내 셀렌 그리드 설정에서 처음에 2 개의 모듈을 실행해야 데이터가 생성됩니다. 그런 다음 6 개의 모듈을 평행하게 놓습니다. 전적으로 build.xml에서 8 개의 다른 모듈에 대해 8 개의 타겟을 가지고 있습니다. 모든 6 개의 타겟이 초기 2 개의 타겟이 완료 될 때까지 기다려야합니다. 1. 어떻게 나머지 타겟이 실행을 완료 할 때까지 기다릴 수 있습니까? 2. build.xml을 build.xml 두 개로 나누면 2 개의 빌드 파일이 순차적으로 실행됩니까? 내가 제대로 질문을 이해한다면다른 대상이 완료 될 때까지 기다리는 개미 목표를 만드는 방법

답변

1

사용 antcall ...

<project name="projectName" default="initialtarget1"> 
<target name="initialtarget1"> 
     <....> 

     </....> 
     <antcall target="initialtarget2"/> 
     <antcall target="target1"/> 
     <antcall target="target2"/> 
     <antcall target="target3"/> 
     <antcall target="target4"/> 
</target> 
<target name="initialtarget2"> 
</target> 
<target name="target1"> 
</target> 
<target name="target2"> 
</target> 
<target name="target3"> 
</target> 
<target name="target4"> 
</target> 
</project> 
4

, 당신은 처음 두 개의 모듈을 병렬로 다음 나머지 6, 병렬로 실행하고 싶습니다. 종류의 같은 : 각 모듈은 자신의 Ant 태스크에 의해 실행됩니다

Time 
| InitialModule1 InitialModule2 
|   |    | 
|   .    | 
|       | 
|       . 
| Module3 Module4 Module5 Module6 Module7 Module8 
|  |  |  |  |  |  | 
|  v  v  v  v  v  v 
V 

경우 task_one, task_two ... task_eight, 당신은 개미 타겟 종속성과 parallel task를 사용하여이 작업을 수행 할 수 있습니다. 각 셀레늄 그리드 모듈이 일련의 작업보다는 당신이 sequential 작업에서 이러한 포장 할 수있는 단일 작업에 의해 실행되는 경우

<target name="create_data"> 
    <parallel> 
     <task_one ... /> 
     <task_two ... /> 
    </parallel> 
</target> 

<target name="do_work" depends="create_data"> 
    <parallel> 
     <task_three ... /> 
     . 
     . 
     . 
     <task_eight ... /> 
    </parallel> 
</target> 

: 대상 종속, 같은 것을 실행 순서를 지정합니다. 별도의 목표로 구현 된 경우 parallel 작업 내에서 antcall을 사용할 수 있습니다.

관련 문제