private String pathOfJob(ExecutablePO job) { return pathOfJob(job.getUuid()); }
public ExecutablePO updateJob(ExecutablePO job) throws PersistentException { try { if (getJob(job.getUuid()) == null) { throw new IllegalArgumentException("job id:" + job.getUuid() + " does not exist"); } writeJobResource(pathOfJob(job), job); executableDigestMap.put(job.getId(), job); return job; } catch (IOException e) { logger.error("error update job:" + job.getUuid(), e); throw new PersistentException(e); } }
public ExecutablePO addJob(ExecutablePO job) throws PersistentException { try { if (getJob(job.getUuid()) != null) { throw new IllegalArgumentException("job id:" + job.getUuid() + " already exists"); } writeJobResource(pathOfJob(job), job); executableDigestMap.put(job.getId(), job); return job; } catch (IOException e) { logger.error("error save job:" + job.getUuid(), e); throw new PersistentException(e); } }
addRequired(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + kylinJobId); for (ExecutablePO kylinTask : executablePO.getTasks()) { addRequired(ResourceStore.EXECUTE_RESOURCE_ROOT + "/" + kylinTask.getUuid()); addRequired(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + kylinTask.getUuid()); if (includeYarnLogs) { yarnLogsResources.add(kylinTask.getUuid());
for (ExecutablePO executable : allExecutable) { long lastModified = executable.getLastModified(); String jobStatus = executableDao.getJobOutput(executable.getUuid()).getStatus(); toDeleteCandidates.add(ResourceStore.EXECUTE_RESOURCE_ROOT + "/" + executable.getUuid()); toDeleteCandidates.add(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + executable.getUuid()); toDeleteCandidates.add(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + task.getUuid());
for (ExecutablePO executable : allExecutable) { long lastModified = executable.getLastModified(); ExecutableOutputPO output = executableDao.getJobOutput(executable.getUuid()); if (System.currentTimeMillis() - lastModified > TIME_THREADSHOLD_FOR_JOB && (ExecutableState.SUCCEED.toString().equals(output.getStatus()) || ExecutableState.DISCARDED.toString().equals(output.getStatus()))) { toDeleteResource.add(ResourceStore.EXECUTE_RESOURCE_ROOT + "/" + executable.getUuid()); toDeleteResource.add(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + executable.getUuid()); toDeleteResource.add(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + task.getUuid());
AbstractExecutable result = newExecutable(type); result.initConfig(config); result.setId(executablePO.getUuid()); result.setName(executablePO.getName()); result.setParams(executablePO.getParams());
@Override public ExecutablePO reloadAt(String path) { try { ExecutablePO executablePO = readJobResource(path); if (executablePO == null) { logger.warn("No job found at {}, returning null", path); executableDigestMap.removeLocal(resourceName(path)); return null; } // create a digest ExecutablePO digestExecutablePO = new ExecutablePO(); digestExecutablePO.setUuid(executablePO.getUuid()); digestExecutablePO.setName(executablePO.getName()); digestExecutablePO.setLastModified(executablePO.getLastModified()); digestExecutablePO.setType(executablePO.getType()); digestExecutablePO.setParams(executablePO.getParams()); executableDigestMap.putLocal(resourceName(path), digestExecutablePO); return digestExecutablePO; } catch (Exception e) { throw new IllegalStateException("Error loading execute at " + path, e); } }
private String pathOfJob(ExecutablePO job) { return pathOfJob(job.getUuid()); } private String pathOfJob(String uuid) {
public ExecutablePO addJob(ExecutablePO job) throws PersistentException { try { if (getJob(job.getUuid()) != null) { throw new IllegalArgumentException("job id:" + job.getUuid() + " already exists"); } writeJobResource(pathOfJob(job), job); return job; } catch (IOException e) { logger.error("error save job:" + job.getUuid(), e); throw new PersistentException(e); } }
private static AbstractExecutable parseTo(ExecutablePO executablePO) { if (executablePO == null) { return null; } String type = executablePO.getType(); try { Class<? extends AbstractExecutable> clazz = ClassUtil.forName(type, AbstractExecutable.class); Constructor<? extends AbstractExecutable> constructor = clazz.getConstructor(); AbstractExecutable result = constructor.newInstance(); result.setId(executablePO.getUuid()); result.setName(executablePO.getName()); result.setParams(executablePO.getParams()); List<ExecutablePO> tasks = executablePO.getTasks(); if (tasks != null && !tasks.isEmpty()) { Preconditions.checkArgument(result instanceof DefaultChainedExecutable); for (ExecutablePO subTask: tasks) { ((DefaultChainedExecutable) result).addTask(parseTo(subTask)); } } return result; } catch (ReflectiveOperationException e) { throw new IllegalArgumentException("cannot parse this job:" + executablePO.getId(), e); } }
private String pathOfJob(ExecutablePO job) { return pathOfJob(job.getUuid()); }
private String pathOfJob(ExecutablePO job) { return pathOfJob(job.getUuid()); }
public ExecutablePO addJob(ExecutablePO job) throws PersistentException { try { if (getJob(job.getUuid()) != null) { throw new IllegalArgumentException("job id:" + job.getUuid() + " already exists"); } writeJobResource(pathOfJob(job), job); return job; } catch (IOException e) { logger.error("error save job:" + job.getUuid(), e); throw new PersistentException(e); } }
public ExecutablePO addJob(ExecutablePO job) throws PersistentException { try { if (getJob(job.getUuid()) != null) { throw new IllegalArgumentException("job id:" + job.getUuid() + " already exists"); } writeJobResource(pathOfJob(job), job); executableDigestMap.put(job.getId(), job); return job; } catch (IOException e) { logger.error("error save job:" + job.getUuid(), e); throw new PersistentException(e); } }
public ExecutablePO updateJob(ExecutablePO job) throws PersistentException { try { if (getJob(job.getUuid()) == null) { throw new IllegalArgumentException("job id:" + job.getUuid() + " does not exist"); } writeJobResource(pathOfJob(job), job); executableDigestMap.put(job.getId(), job); return job; } catch (IOException e) { logger.error("error update job:" + job.getUuid(), e); throw new PersistentException(e); } }
private static AbstractExecutable parseTo(ExecutablePO executablePO) { if (executablePO == null) { return null; } String type = executablePO.getType(); try { Class<? extends AbstractExecutable> clazz = ClassUtil.forName(type, AbstractExecutable.class); Constructor<? extends AbstractExecutable> constructor = clazz.getConstructor(); AbstractExecutable result = constructor.newInstance(); result.setId(executablePO.getUuid()); result.setName(executablePO.getName()); result.setParams(executablePO.getParams()); List<ExecutablePO> tasks = executablePO.getTasks(); if (tasks != null && !tasks.isEmpty()) { Preconditions.checkArgument(result instanceof ChainedExecutable); for (ExecutablePO subTask : tasks) { ((ChainedExecutable) result).addTask(parseTo(subTask)); } } return result; } catch (ReflectiveOperationException e) { throw new IllegalArgumentException("cannot parse this job:" + executablePO.getId(), e); } }
AbstractExecutable result = newExecutable(type); result.initConfig(config); result.setId(executablePO.getUuid()); result.setName(executablePO.getName()); result.setParams(executablePO.getParams());
@Override public ExecutablePO reloadAt(String path) { try { ExecutablePO executablePO = readJobResource(path); if (executablePO == null) { logger.warn("No job found at {}, returning null", path); executableDigestMap.removeLocal(resourceName(path)); return null; } // create a digest ExecutablePO digestExecutablePO = new ExecutablePO(); digestExecutablePO.setUuid(executablePO.getUuid()); digestExecutablePO.setName(executablePO.getName()); digestExecutablePO.setLastModified(executablePO.getLastModified()); digestExecutablePO.setType(executablePO.getType()); digestExecutablePO.setParams(executablePO.getParams()); executableDigestMap.putLocal(resourceName(path), digestExecutablePO); return digestExecutablePO; } catch (Exception e) { throw new IllegalStateException("Error loading execute at " + path, e); } }