Repository: airavata
Updated Branches:
  refs/heads/master cf82465a0 -> 5be53c730


Invoked out handle workers in failure state too.


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

Branch: refs/heads/master
Commit: cc0a8f9f0b1fad0be872b636ad1195ac46ec5d44
Parents: bd275a9
Author: shamrath <[email protected]>
Authored: Fri Apr 17 17:32:16 2015 -0400
Committer: shamrath <[email protected]>
Committed: Fri Apr 17 17:32:16 2015 -0400

----------------------------------------------------------------------
 .../gfac/monitor/email/EmailBasedMonitor.java   | 26 ++++++++++++++------
 .../monitor/email/parser/PBSEmailParser.java    |  3 ++-
 .../monitor/email/parser/SLURMEmailParser.java  |  2 --
 3 files changed, 21 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/cc0a8f9f/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
 
b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
index 36bd0eb..b0e8ed6 100644
--- 
a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
+++ 
b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
@@ -206,22 +206,34 @@ public class EmailBasedMonitor implements Runnable{
     private void process(JobStatusResult jobStatusResult, JobExecutionContext 
jEC){
         JobState resultState = jobStatusResult.getState();
         jEC.getJobDetails().setJobStatus(new JobStatus(resultState));
+        boolean runOutHandlers = false;
+        // TODO - Handle all other valid JobStates
         if (resultState == JobState.COMPLETE) {
-            try {
-                GFacThreadPoolExecutor.getFixedThreadPool().submit(new 
OutHandlerWorker(jEC, BetterGfacImpl.getMonitorPublisher()));
-            } catch (ApplicationSettingsException e) {
-                log.error(e.getMessage(), e);
-            }
+            jobMonitorMap.remove(jobStatusResult.getJobId());
+            runOutHandlers = true;
+            log.debug("Job Complete email received , removed job from job 
monitoring");
         }else if (resultState == JobState.QUEUED) {
             // nothing special thing to do, update the status change to rabbit 
mq at the end of this method.
+        }else if (resultState == JobState.ACTIVE) {
+            // nothing special thing to do, update the status change to rabbit 
mq at the end of this method.
         }else if (resultState == JobState.FAILED) {
             jobMonitorMap.remove(jobStatusResult.getJobId());
-            log.info("Job failed email received , removed job from job 
monitoring");
+            runOutHandlers = true;
+            log.debug("Job failed email received , removed job from job 
monitoring");
         }else if (resultState == JobState.CANCELED) {
             jobMonitorMap.remove(jobStatusResult.getJobId());
-            log.info("Job canceled mail received, removed job from job 
monitoring");
+            runOutHandlers = true;
+            log.debug("Job canceled mail received, removed job from job 
monitoring");
             
         }
+
+        if (runOutHandlers) {
+            try {
+                GFacThreadPoolExecutor.getFixedThreadPool().submit(new 
OutHandlerWorker(jEC, BetterGfacImpl.getMonitorPublisher()));
+            } catch (ApplicationSettingsException e) {
+                log.error(e.getMessage(), e);
+            }
+        }
         publishJobStatusChange(jEC);
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/cc0a8f9f/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
 
b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
index a965839..569d498 100644
--- 
a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
+++ 
b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
@@ -69,10 +69,11 @@ public class PBSEmailParser implements EmailParser {
     private JobState getJobState(String statusLine, String content) {
         switch (statusLine) {
             case BEGUN_EXECUTION:
-                return JobState.QUEUED;
+                return JobState.ACTIVE;
             case EXECUTION_TERMINATED:
                 int exitStatus = getExitStatus(content);
                 if (exitStatus == 0) {
+                    // TODO - Remove rabbitmq client script line from the 
script.
                     return JobState.COMPLETE;
                 } else if (exitStatus == 271) {
                     return JobState.CANCELED;

http://git-wip-us.apache.org/repos/asf/airavata/blob/cc0a8f9f/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
 
b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
index 872767b..47e78a7 100644
--- 
a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
+++ 
b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
@@ -35,8 +35,6 @@ public class SLURMEmailParser implements EmailParser {
 
     private static final Logger log = 
LoggerFactory.getLogger(SLURMEmailParser.class);
 
-    private static final String JOBID = "jobId";
-    private static final String STATUS = "status";
     private static final String REGEX = "[A-Z]*\\s[a-zA-Z]*_[a-z]*=(?<" + JOBID
             + ">\\d*)\\s[a-zA-Z]*=[a-zA-Z0-9-]*\\s(?<" + STATUS + 
">[]a-zA-Z]*),.*";
 

Reply via email to