You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2012/10/09 01:02:13 UTC
svn commit: r1395805 -
/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
Author: samindaw
Date: Mon Oct 8 23:02:12 2012
New Revision: 1395805
URL: http://svn.apache.org/viewvc?rev=1395805&view=rev
Log:
wait for the registry to contain experiment data before returning from the launch function when launched in thread mode
Modified:
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
Modified: airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java?rev=1395805&r1=1395804&r2=1395805&view=diff
==============================================================================
--- airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java (original)
+++ airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java Mon Oct 8 23:02:12 2012
@@ -423,9 +423,11 @@ public class AiravataClient implements A
}
public String runWorkflow(final String topic, final NameValue[] inputs, final String user,
final String metadata, final String experimentName, final WorkflowContextHeaderBuilder builder) throws Exception{
- return runWorkflow(topic, inputs, user, metadata, experimentName, builder, false);
+ return runWorkflow(topic, inputs, user, metadata, experimentName, builder, true);
}
+ private static int TIMEOUT_STEP=1000;
+ private static int MAX_TIMEOUT=60000;
public String runWorkflow(final String topic, final NameValue[] inputs, final String user,
final String metadata, final String experimentName, final WorkflowContextHeaderBuilder builder, boolean launchOnThread) throws Exception{
if (launchOnThread) {
@@ -434,6 +436,11 @@ public class AiravataClient implements A
launchWorkflow(topic, inputs, user, metadata, experimentName, builder);
}
}).start();
+ int timeout=0;
+ while(!getRegistry().isExperimentExists(topic) && timeout<MAX_TIMEOUT){
+ Thread.sleep(TIMEOUT_STEP);
+ timeout+=MAX_TIMEOUT;
+ }
}else{
launchWorkflow(topic, inputs, user, metadata, experimentName, builder);
}