public WorkflowId workflow(String program) { return new WorkflowId(this, program); }
public WorkflowId workflow(String program) { return new WorkflowId(this, program); }
private WorkflowId deserializeWorkflowId(JsonObject id) { ProgramId program = deserializeProgramId(id); return new WorkflowId(program.getParent(), program.getProgram()); }
@Override public WorkflowId toEntityId() { return new WorkflowId(super.getNamespaceId(), super.getApplicationId(), super.getId()); }
@PathParam("run-id") String runId, @QueryParam("other-run-id") String otherRunId) throws Exception { WorkflowId workflow = new WorkflowId(namespaceId, appId, workflowId); WorkflowRunMetrics detailedStatistics = getDetailedRecord(workflow, runId); WorkflowRunMetrics otherDetailedStatistics = getDetailedRecord(workflow, otherRunId);
@Override public WorkflowId toEntityId() { return new WorkflowId(super.getNamespaceId(), super.getApplicationId(), super.getId()); }
@PathParam("run-id") String runId, @QueryParam("other-run-id") String otherRunId) throws Exception { WorkflowId workflow = new WorkflowId(namespaceId, appId, workflowId); WorkflowRunMetrics detailedStatistics = getDetailedRecord(workflow, runId); WorkflowRunMetrics otherDetailedStatistics = getDetailedRecord(workflow, otherRunId);
private WorkflowId deserializeWorkflowId(JsonObject id) { ProgramId program = deserializeProgramId(id); return new WorkflowId(program.getParent(), program.getProgram()); }
private WorkflowId deserializeWorkflowId(JsonObject id) { ProgramId program = deserializeProgramId(id); return new WorkflowId(program.getParent(), program.getProgram()); }
WorkflowId workflow = new WorkflowId(namespaceId, appId, workflowId); WorkflowStatistics workflowStatistics = store.getWorkflowStatistics(workflow, startTime, endTime, percentiles);
WorkflowId workflow = new WorkflowId(namespaceId, appId, workflowId); WorkflowStatistics workflowStatistics = store.getWorkflowStatistics(workflow, startTime, endTime, percentiles);
" 's', 'm', 'h', 'd' units. Entered value was : " + interval); WorkflowId workflow = new WorkflowId(namespaceId, appId, workflowId); Collection<WorkflowDataset.WorkflowRunRecord> workflowRunRecords = store.retrieveSpacedRecords(workflow, runId, limit, timeInterval);
/** * @return The workflow token if the program is a workflow, {@code null} otherwise. */ @Nullable public WorkflowToken getWorkflowToken(ProgramRunId programRunId) { ProgramId programId = programRunId.getParent(); if (!programId.getType().equals(ProgramType.WORKFLOW)) { return null; } return store.getWorkflowToken(new WorkflowId(programId.getParent(), programId.getProgram()), programRunId.getRun()); }
/** * @return The workflow token if the program is a workflow, {@code null} otherwise. */ @Nullable public WorkflowToken getWorkflowToken(ProgramRunId programRunId) { ProgramId programId = programRunId.getParent(); if (!programId.getType().equals(ProgramType.WORKFLOW)) { return null; } return store.getWorkflowToken(new WorkflowId(programId.getParent(), programId.getProgram()), programRunId.getRun()); }
" 's', 'm', 'h', 'd' units. Entered value was : " + interval); WorkflowId workflow = new WorkflowId(namespaceId, appId, workflowId); Collection<WorkflowDataset.WorkflowRunRecord> workflowRunRecords = store.retrieveSpacedRecords(workflow, runId, limit, timeInterval);
private void getScheduledRuntime(HttpResponder responder, String namespaceId, String appName, String workflowName, boolean previousRuntimeRequested) throws SchedulerException, NotFoundException { try { ApplicationId appId = new ApplicationId(namespaceId, appName); WorkflowId workflowId = new WorkflowId(appId, workflowName); ApplicationSpecification appSpec = store.getApplication(appId); if (appSpec == null) { throw new ApplicationNotFoundException(appId); } if (appSpec.getWorkflows().get(workflowName) == null) { throw new ProgramNotFoundException(workflowId); } List<ScheduledRuntime> runtimes; if (previousRuntimeRequested) { runtimes = timeScheduler.previousScheduledRuntime(workflowId, SchedulableProgramType.WORKFLOW); } else { runtimes = timeScheduler.nextScheduledRuntime(workflowId, SchedulableProgramType.WORKFLOW); } responder.sendJson(HttpResponseStatus.OK, GSON.toJson(runtimes)); } catch (SecurityException e) { responder.sendStatus(HttpResponseStatus.UNAUTHORIZED); } }
private void getScheduledRuntime(HttpResponder responder, String namespaceId, String appName, String workflowName, boolean previousRuntimeRequested) throws SchedulerException, NotFoundException { try { ApplicationId appId = new ApplicationId(namespaceId, appName); WorkflowId workflowId = new WorkflowId(appId, workflowName); ApplicationSpecification appSpec = store.getApplication(appId); if (appSpec == null) { throw new ApplicationNotFoundException(appId); } if (appSpec.getWorkflows().get(workflowName) == null) { throw new ProgramNotFoundException(workflowId); } List<ScheduledRuntime> runtimes; if (previousRuntimeRequested) { runtimes = timeScheduler.previousScheduledRuntime(workflowId, SchedulableProgramType.WORKFLOW); } else { runtimes = timeScheduler.nextScheduledRuntime(workflowId, SchedulableProgramType.WORKFLOW); } responder.sendJson(HttpResponseStatus.OK, GSON.toJson(runtimes)); } catch (SecurityException e) { responder.sendStatus(HttpResponseStatus.UNAUTHORIZED); } }
@Override public void setStop(ProgramRunId id, long endTime, ProgramRunStatus runStatus, BasicThrowable failureCause, byte[] sourceId) { Preconditions.checkArgument(runStatus != null, "Run state of program run should be defined"); Transactionals.execute(transactional, context -> { AppMetadataStore metaStore = getAppMetadataStore(context); metaStore.recordProgramStop(id, endTime, runStatus, failureCause, sourceId); // This block has been added so that completed workflow runs can be logged to the workflow dataset WorkflowId workflowId = new WorkflowId(id.getParent().getParent(), id.getProgram()); if (id.getType() == ProgramType.WORKFLOW && runStatus == ProgramRunStatus.COMPLETED) { recordCompletedWorkflow(metaStore, getWorkflowDataset(context), workflowId, id.getRun()); } // todo: delete old history data }); }
@Override public void setStop(ProgramRunId id, long endTime, ProgramRunStatus runStatus, BasicThrowable failureCause, byte[] sourceId) { Preconditions.checkArgument(runStatus != null, "Run state of program run should be defined"); Transactionals.execute(transactional, context -> { AppMetadataStore metaStore = getAppMetadataStore(context); metaStore.recordProgramStop(id, endTime, runStatus, failureCause, sourceId); // This block has been added so that completed workflow runs can be logged to the workflow dataset WorkflowId workflowId = new WorkflowId(id.getParent().getParent(), id.getProgram()); if (id.getType() == ProgramType.WORKFLOW && runStatus == ProgramRunStatus.COMPLETED) { recordCompletedWorkflow(metaStore, getWorkflowDataset(context), workflowId, id.getRun()); } // todo: delete old history data }); }