Repository: airavata Updated Branches: refs/heads/master a9c337da8 -> d87023a11
fixing status update issue in trunk Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/3c5774b8 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/3c5774b8 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/3c5774b8 Branch: refs/heads/master Commit: 3c5774b85eeb5b6eefff092a8190950d20ea1561 Parents: 233f796 Author: lahiru <[email protected]> Authored: Wed May 28 10:52:18 2014 -0400 Committer: lahiru <[email protected]> Committed: Wed May 28 10:52:18 2014 -0400 ---------------------------------------------------------------------- .../server/handler/AiravataServerHandler.java | 2 -- .../AiravataWorkflowNodeStatusUpdator.java | 28 ++++++++++++++++++++ .../gfac/local/provider/impl/LocalProvider.java | 11 +++++++- 3 files changed, 38 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/3c5774b8/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java index cab5dc4..8615480 100644 --- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java +++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java @@ -904,9 +904,7 @@ public class AiravataServerHandler implements Airavata.Iface { } private OrchestratorService.Client getOrchestratorClient() { -// if(orchestratorClient == null){ return orchestratorClient = OrchestratorClientFactory.createOrchestratorClient(ORCHESTRATOR_SERVER_HOST, ORCHESTRATOR_SERVER_PORT); -// } } /** http://git-wip-us.apache.org/repos/asf/airavata/blob/3c5774b8/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/AiravataWorkflowNodeStatusUpdator.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/AiravataWorkflowNodeStatusUpdator.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/AiravataWorkflowNodeStatusUpdator.java index 657a9b7..8e92e87 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/AiravataWorkflowNodeStatusUpdator.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/monitor/AiravataWorkflowNodeStatusUpdator.java @@ -63,6 +63,34 @@ public class AiravataWorkflowNodeStatusUpdator implements AbstractActivityListen } } + @Subscribe + public void setupExperimentStatus(WorkflowNodeStatusChangeRequest nodeStatus) { + ExperimentState state = ExperimentState.UNKNOWN; + switch (nodeStatus.getState()) { + case CANCELED: + state = ExperimentState.CANCELED; + break; + case COMPLETED: + state = ExperimentState.COMPLETED; + break; + case INVOKED: + state = ExperimentState.LAUNCHED; + break; + case FAILED: + state = ExperimentState.FAILED; + break; + case EXECUTING: + state = ExperimentState.EXECUTING; + break; + case CANCELING: + state = ExperimentState.CANCELING; + break; + default: + break; + } + logger.debug("Publishing Experiment Status " + state.toString()); + monitorPublisher.publish(new ExperimentStatusChangeRequest(nodeStatus.getIdentity(), state)); + } public void updateWorkflowNodeStatus(String workflowNodeId, WorkflowNodeState state) throws Exception { http://git-wip-us.apache.org/repos/asf/airavata/blob/3c5774b8/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java b/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java index 35597c4..5337a1e 100644 --- a/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java +++ b/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java @@ -167,6 +167,15 @@ public class LocalProvider extends AbstractProvider { .append(" tempDirectory = ").append(app.getScratchWorkingDirectory()).append(" With the status ") .append(String.valueOf(returnValue)); log.info(buf.toString()); + + // updating the job status to complete because there's nothing to monitor in local jobs + MonitorID monitorID = new MonitorID(jobExecutionContext.getApplicationContext().getHostDescription(), jobId, + jobExecutionContext.getTaskData().getTaskID(), + jobExecutionContext.getWorkflowNodeDetails().getNodeInstanceId(), jobExecutionContext.getExperimentID(), + jobExecutionContext.getExperiment().getUserName()); + JobStatusChangeRequest jobStatusChangeRequest = new JobStatusChangeRequest(monitorID); + jobStatusChangeRequest.setState(JobState.COMPLETE); + this.getMonitorPublisher().publish(jobStatusChangeRequest); } catch (IOException io) { throw new GFacProviderException(io.getMessage(), io); } catch (InterruptedException e) { @@ -207,7 +216,7 @@ public class LocalProvider extends AbstractProvider { Map<String, Object> output = jobExecutionContext.getOutMessageContext().getParameters(); OutputUtils.fillOutputFromStdout1(output, stdOutStr, stdErrStr, outputArray); registry.add(ChildDataType.EXPERIMENT_OUTPUT, outputArray, jobExecutionContext.getExperimentID()); - OutputUtils.fillOutputFromStdout(output, stdOutStr, stdErrStr); // todo this will be replaced with app catalog + OutputUtils.fillOutputFromStdout(output, stdOutStr, stdErrStr); } catch (XmlException e) { throw new GFacProviderException("Cannot read output:" + e.getMessage(), e); } catch (IOException io) {
