我目前正在运行两个作业,使得job2依赖于job1。我计划使用job1的输出并将其作为job2中的分布式缓存传递。这将在job2中用作处理另一组数据的引用。我在两个作业中编写了加载函数,在这两个作业中我完成了作业配置。然后我使job2依赖于job1并将其提交给jobcontrol。问题是,当我在job2的load函数中使用分布式缓存时,文件还没有创建,我会得到一个异常。我该怎么处理?
我看不到任何可以重载的initialize()etc方法,而不是使用load()函数。我正在使用新的api。
MyTranslationBuilderDriver job1 = new MyTranslationBuilderDriver();
job1.load(args, "translator/path");
MyTranslatorDriver job2 = new MyTranslatorDriver();
job2.load(args, "path");
JobControl jbcntrl=new JobControl("jbcntrl");
ControlledJob cjob1 = new ControlledJob(job1.job, null);
ControlledJob cjob2 = new ControlledJob(job2.job, null);
cjob2.addDependingJob(cjob1);
jbcntrl.addJob(cjob2);
jbcntrl.run();
Thread thread = new Thread(jbcntrl);
thread.start();
while (!jbcntrl.allFinished()) {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
jbcntrl.stop();
}
暂无答案!
目前还没有任何答案,快来回答吧!