如果您想以編程方式鏈接您的作業,您將無法使用JobControl。用法很簡單:
JobControl jobControl = new JobControl(name);
然後添加ControlledJob實例。 ControlledJob使用它的依賴性定義作業,從而自動插入輸入和輸出以適應作業的「鏈」。
jobControl.add(new ControlledJob(job, Arrays.asList(controlledjob1, controlledjob2));
jobControl.run();
啓動鏈。你會想要把它放在一個敏捷的線程中。這允許檢查鏈條的狀況得到控制而它運行:
while (!jobControl.allFinished()) {
System.out.println("Jobs in waiting state: " + jobControl.getWaitingJobList().size());
System.out.println("Jobs in ready state: " + jobControl.getReadyJobsList().size());
System.out.println("Jobs in running state: " + jobControl.getRunningJobList().size());
List<ControlledJob> successfulJobList = jobControl.getSuccessfulJobList();
System.out.println("Jobs in success state: " + successfulJobList.size());
List<ControlledJob> failedJobList = jobControl.getFailedJobList();
System.out.println("Jobs in failed state: " + failedJobList.size());
}
使用其MapReduce框架? – skaffman 2010-03-23 12:03:03
我編輯了這個問題來澄清我正在談論的Hadoop。 – 2010-03-23 13:11:05
我推薦這個swineherd gem:https://github.com/Ganglion/swineherd best,Tobias – Tobias 2011-06-15 09:33:36