private boolean submit() { LOG.debug("Submitting waiting jobflows: {}", batchId); boolean submitted = false; for (Iterator<FlowScript> iter = flows.iterator(); iter.hasNext();) { FlowScript flow = iter.next(); boolean blocked = false; for (String blockerId : flow.getBlockerIds()) { if (blocking.contains(blockerId)) { blocked = true; break; } } if (blocked == false) { submit(flow); iter.remove(); submitted = true; } } return submitted; }
@Override public String toString() { return MessageFormat.format( "Flow'{'id={0}, blockers={1}, scripts={2}'}'", getId(), getBlockerIds(), getScripts()); } }
private static JsonObject analyzeJobflow(FlowScript flowScript) { assert flowScript != null; JsonArray phases = new JsonArray(); for (Map.Entry<ExecutionPhase, Set<ExecutionScript>> entry : flowScript.getScripts().entrySet()) { ExecutionPhase phase = entry.getKey(); if (entry.getValue().isEmpty() == false || phase == ExecutionPhase.SETUP || phase == ExecutionPhase.CLEANUP) { phases.add(new JsonPrimitive(phase.getSymbol())); } } JsonObject jobflow = new JsonObject(); jobflow.addProperty("id", flowScript.getId()); jobflow.add("blockers", toJsonArray(flowScript.getBlockerIds())); jobflow.add("phases", phases); return jobflow; }
FlowScript script = iter.next(); boolean blocked = false; for (String blockerId : script.getBlockerIds()) { if (blockerIds.contains(blockerId)) { blocked = true;
properties.setProperty(flowPrefix + KEY_BLOCKERS, join(getBlockerIds())); properties.setProperty(flowPrefix + KEY_ENABLED_SCRIPT_KINDS, join(toSymbols(getEnabledScriptKinds()))); for (Map.Entry<ExecutionPhase, Set<ExecutionScript>> phase : getScripts().entrySet()) {