producer.addSpec(jobSpec).get();
getTimingEvent(TimingEvent.LauncherTimings.JOB_ORCHESTRATED) : null; producer.addSpec(jobSpec);
/** * Submits a {@link JobSpec} to a {@link org.apache.gobblin.runtime.api.SpecExecutor}. */ private void submitJob(DagNode<JobExecutionPlan> dagNode) { JobExecutionPlan jobExecutionPlan = DagManagerUtils.getJobExecutionPlan(dagNode); jobExecutionPlan.setExecutionStatus(RUNNING); JobSpec jobSpec = DagManagerUtils.getJobSpec(dagNode); // Run this spec on selected executor SpecProducer producer = null; try { producer = DagManagerUtils.getSpecProducer(dagNode); Config jobConfig = DagManagerUtils.getJobConfig(dagNode); if (!jobConfig.hasPath(ConfigurationKeys.FLOW_EXECUTION_ID_KEY)) { log.warn("JobSpec does not contain flowExecutionId."); } log.info("Submitting job: {} on executor: {}", jobSpec, producer); Map<String, String> jobMetadata = TimingEventUtils.getJobMetadata(Maps.newHashMap(), jobExecutionPlan); log.info("Going to orchestrate JobSpec: {} on Executor: {}", jobSpec, producer); TimingEvent jobOrchestrationTimer = this.eventSubmitter.isPresent() ? this.eventSubmitter.get(). getTimingEvent(TimingEvent.LauncherTimings.JOB_ORCHESTRATED) : null; producer.addSpec(jobSpec); if (jobOrchestrationTimer != null) { jobOrchestrationTimer.stop(jobMetadata); } log.info("Orchestrated JobSpec: {} on Executor: {}", jobSpec, producer); } catch (Exception e) { log.error("Cannot submit job: {} on executor: {}", jobSpec, producer, e); } }
getTimingEvent(TimingEvent.LauncherTimings.JOB_ORCHESTRATED) : null; producer.addSpec(jobSpec);