2

我目前正在运行两个作业,因此 job2 依赖于 job1。我计划使用job1的输出并将其作为分布式缓存传递给job2。这将在 job2 中用作处理另一组数据的参考。我在完成作业配置的 2 个作业中编写了加载函数。然后我使 job2 依赖于 job1 并将其提交给 JobControl。问题是当我在 job2 的加载函数中使用分布式缓存时,该文件尚未创建,我将得到一个异常。我该如何处理?

我看不到任何可以重载而不是使用我的 load() 函数的 initialize() 等方法。我正在使用新的 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();
}
4

0 回答 0