Repository: airavata
Updated Branches:
  refs/heads/master 4c6f73dc3 -> fc64bd051


more improvements to monitoring - AIRAVATA-1023


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4c50cabe
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4c50cabe
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4c50cabe

Branch: refs/heads/master
Commit: 4c50cabeb132c05f1591f6ece459f4aacde2e1ff
Parents: f7dba4e
Author: lahiru <[email protected]>
Authored: Tue Mar 11 14:42:19 2014 -0400
Committer: lahiru <[email protected]>
Committed: Tue Mar 11 14:42:19 2014 -0400

----------------------------------------------------------------------
 .../apache/airavata/job/monitor/MonitorID.java  | 30 +++++++++++---------
 .../monitor/impl/pull/qstat/QstatMonitor.java   |  2 ++
 2 files changed, 19 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4c50cabe/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
----------------------------------------------------------------------
diff --git 
a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
 
b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
index 945362b..ffa904c 100644
--- 
a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
+++ 
b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/MonitorID.java
@@ -181,19 +181,23 @@ public class MonitorID {
     }
 
     public void setStatus(JobState status) {
-        if (this.state != null && status.equals(JobState.UNKNOWN)) {
-            switch (this.state) {
-                case ACTIVE:
-                    this.state = JobState.COMPLETE;
-                    break;
-                case QUEUED:
-                    this.state = JobState.COMPLETE;
-                    break;
-
+        if (getFailedCount() > 0)
+            if (this.state != null && status.equals(JobState.UNKNOWN)) {
+                if (getFailedCount() > 2) {
+                    switch (this.state) {
+                        case ACTIVE:
+                            this.state = JobState.COMPLETE;
+                            break;
+                        case QUEUED:
+                            this.state = JobState.COMPLETE;
+                            break;
+                    }
+                } else {
+                    setFailedCount(getFailedCount() + 1);
+                }
+            } else {
+                // normal scenario
+                this.state = status;
             }
-        }else{
-            // normal scenario
-            this.state = status;
-        }
     }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/4c50cabe/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/pull/qstat/QstatMonitor.java
----------------------------------------------------------------------
diff --git 
a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/pull/qstat/QstatMonitor.java
 
b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/pull/qstat/QstatMonitor.java
index f2ed33d..49bae32 100644
--- 
a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/pull/qstat/QstatMonitor.java
+++ 
b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/pull/qstat/QstatMonitor.java
@@ -174,6 +174,8 @@ public class QstatMonitor extends PullMonitor {
                     try {
                         take.setFailedCount(take.getFailedCount() + 1);
                         this.queue.put(take);
+                        // if we get a wrong status we wait for a while and 
request again
+                            Thread.sleep(10000);
                     } catch (InterruptedException e1) {
                         e1.printStackTrace();
                     }

Reply via email to