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(); }
