You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ra...@apache.org on 2013/01/23 16:58:26 UTC
svn commit: r1437509 - in
/airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples:
MonitorListener.java MonitorWorkflow.java RunWorkflow.java
Author: raminder
Date: Wed Jan 23 15:58:25 2013
New Revision: 1437509
URL: http://svn.apache.org/viewvc?rev=1437509&view=rev
Log:
Added sample for Job monitoring. AIRAVATA-650
Added:
airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorListener.java
airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorWorkflow.java
Modified:
airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java
Added: airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorListener.java
URL: http://svn.apache.org/viewvc/airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorListener.java?rev=1437509&view=auto
==============================================================================
--- airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorListener.java (added)
+++ airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorListener.java Wed Jan 23 15:58:25 2013
@@ -0,0 +1,62 @@
+package org.apache.airavata.client.samples;
+
+import org.apache.airavata.ws.monitor.EventData;
+import org.apache.airavata.ws.monitor.EventDataListener;
+import org.apache.airavata.ws.monitor.EventDataRepository;
+import org.apache.airavata.ws.monitor.Monitor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MonitorListener implements EventDataListener {
+
+ private static final Logger log = LoggerFactory.getLogger(MonitorListener.class);
+
+ @Override
+ public void notify(EventDataRepository eventDataRepo, EventData eventData) {
+ log.info("ExperimentID: " + eventData.getExperimentID());
+ log.info("Message: " + eventData.getMessage());
+ }
+
+ @Override
+ public void setExperimentMonitor(Monitor monitor) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void monitoringPreStart() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void monitoringPostStart() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void monitoringPreStop() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void monitoringPostStop() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onFail(EventData failNotification) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onCompletion(EventData completionNotification) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added: airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorWorkflow.java
URL: http://svn.apache.org/viewvc/airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorWorkflow.java?rev=1437509&view=auto
==============================================================================
--- airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorWorkflow.java (added)
+++ airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/MonitorWorkflow.java Wed Jan 23 15:58:25 2013
@@ -0,0 +1,29 @@
+package org.apache.airavata.client.samples;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.apache.airavata.client.AiravataAPIFactory;
+import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.client.api.AiravataAPIInvocationException;
+import org.apache.airavata.registry.api.PasswordCallback;
+import org.apache.airavata.rest.client.PasswordCallbackImpl;
+import org.apache.airavata.ws.monitor.Monitor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MonitorWorkflow {
+ private static final Logger log = LoggerFactory.getLogger(MonitorWorkflow.class);
+
+ public static void monitor(final String experimentId) throws AiravataAPIInvocationException, URISyntaxException {
+ PasswordCallback passwordCallback = new PasswordCallbackImpl(RunWorkflow.getUserName(),
+ RunWorkflow.getPassword());
+ AiravataAPI airavataAPI = AiravataAPIFactory.getAPI(new URI(RunWorkflow.getRegistryURL()),
+ RunWorkflow.getGatewayName(), RunWorkflow.getUserName(), passwordCallback);
+ MonitorListener monitorListener = new MonitorListener();
+ Monitor experimentMonitor = airavataAPI.getExecutionManager().getExperimentMonitor(experimentId,
+ monitorListener);
+ log.info("Started the Workflow monitor");
+ experimentMonitor.startMonitoring();
+ }
+}
Modified: airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java
URL: http://svn.apache.org/viewvc/airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java?rev=1437509&r1=1437508&r2=1437509&view=diff
==============================================================================
--- airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java (original)
+++ airavata/trunk/samples/airavata-client/workflow-run/src/main/java/org/apache/airavata/client/samples/RunWorkflow.java Wed Jan 23 15:58:25 2013
@@ -20,32 +20,30 @@
*/
package org.apache.airavata.client.samples;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.airavata.client.AiravataAPIFactory;
import org.apache.airavata.client.api.AiravataAPI;
import org.apache.airavata.client.api.AiravataAPIInvocationException;
-import org.apache.airavata.client.api.ExperimentAdvanceOptions;
import org.apache.airavata.registry.api.PasswordCallback;
import org.apache.airavata.registry.api.exception.worker.ExperimentLazyLoadedException;
import org.apache.airavata.registry.api.impl.WorkflowExecutionDataImpl;
import org.apache.airavata.registry.api.workflow.ExperimentData;
-import org.apache.airavata.registry.api.workflow.WorkflowExecutionData;
+import org.apache.airavata.registry.api.workflow.InputData;
import org.apache.airavata.registry.api.workflow.NodeExecutionData;
+import org.apache.airavata.registry.api.workflow.OutputData;
import org.apache.airavata.rest.client.PasswordCallbackImpl;
import org.apache.airavata.workflow.model.wf.WorkflowInput;
-import org.apache.airavata.registry.api.workflow.InputData;
-import org.apache.airavata.registry.api.workflow.OutputData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-
public class RunWorkflow {
private static final Logger log = LoggerFactory.getLogger(RunWorkflow.class);
@@ -100,7 +98,8 @@ public class RunWorkflow {
= airavataAPI.getExecutionManager().runExperiment(workflowName, workflowInputs);
System.out.println("Experiment ID Returned : " + result);
- airavataAPI.getExecutionManager().waitForExperimentTermination(result);
+ MonitorWorkflow.monitor(result);
+ airavataAPI.getExecutionManager().waitForExperimentTermination(result);
ExperimentData experimentData = airavataAPI.getProvenanceManager().getExperimentData(result);
List<WorkflowExecutionDataImpl> workflowInstanceData
= experimentData.getWorkflowExecutionDataList();