public Job formJobWithFlow(String jobId, byte[] flowBytes, Map configBytes) throws Exception { String actuatorName = JobConfig.load(configBytes).getType(); JobActuator jobActuator = jobActuatorMap.get(actuatorName); checkArgument(jobActuator != null, "job [" + jobId + "] loading error! JobActuator:[" + actuatorName + "] not find,only " + jobActuatorMap.keySet()); JobConfig jobConfig = MAPPER.convertValue(configBytes, jobActuator.getHandle().getConfigParser()); return formJobWithFlow(jobId, flowBytes, jobActuator, jobConfig); }
@Override public synchronized void saveJob(@NotNull Job job) { File jobDir = job.getWorkDir(); try { Flow flow = job.getFlow(); File yaml = new File(jobDir, "job.flow"); File typeFile = new File(jobDir, "job.type"); FileUtils.writeStringToFile(yaml, flow.toString(), UTF_8); FileUtils.writeStringToFile(typeFile, job.getConfig().toString(), UTF_8); jobs.put(job.getId(), job); logger.info("save job {} ok", job.getId()); } catch (IOException e) { throw new SylphException(SAVE_JOB_ERROR, "save " + job.getId() + " failed", e); } }
String actuatorName = jobConfig.getType();
public Job formJobWithFlow(String jobId, byte[] flowBytes, byte[] configBytes) throws Exception { String actuatorName = JobConfig.load(configBytes).getType(); JobActuator jobActuator = jobActuatorMap.get(actuatorName); checkArgument(jobActuator != null, "job [" + jobId + "] loading error! JobActuator:[" + actuatorName + "] not find,only " + jobActuatorMap.keySet()); JobConfig jobConfig = MAPPER.readValue(configBytes, jobActuator.getHandle().getConfigParser()); return formJobWithFlow(jobId, flowBytes, jobActuator, jobConfig); }