You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/05/18 21:50:18 UTC

airavata git commit: handled SLURM cancelled emails.

Repository: airavata
Updated Branches:
  refs/heads/master c4b8fb21a -> 18748564f


handled SLURM cancelled emails.


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

Branch: refs/heads/master
Commit: 18748564fbf920cb37e860be9e5718bb089e164a
Parents: c4b8fb2
Author: shamrath <sh...@gmail.com>
Authored: Mon May 18 15:50:14 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Mon May 18 15:50:14 2015 -0400

----------------------------------------------------------------------
 .../gfac/monitor/email/parser/SLURMEmailParser.java      | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/18748564/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 4a1b362..75ffe98 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
@@ -41,17 +41,18 @@ public class SLURMEmailParser implements EmailParser {
     public static final String BEGAN = "Began";
     public static final String ENDED = "Ended";
     public static final String FAILED = "Failed";
+    private static final Pattern cancelledStatePattern = Pattern.compile("CANCELLED");
+    private static final Pattern pattern = Pattern.compile(REGEX);
 
     @Override
     public JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException{
         JobStatusResult jobStatusResult = new JobStatusResult();
         String subject = message.getSubject();
-        Pattern pattern = Pattern.compile(REGEX);
         Matcher matcher = pattern.matcher(subject);
         if (matcher.find()) {
             jobStatusResult.setJobId(matcher.group(JOBID));
             jobStatusResult.setJobName(matcher.group(JOBNAME));
-            jobStatusResult.setState(getJobState(matcher.group(STATUS)));
+            jobStatusResult.setState(getJobState(matcher.group(STATUS), subject));
             return jobStatusResult;
         } else {
             log.error("[EJM]: No matched found for subject -> " + subject);
@@ -59,11 +60,15 @@ public class SLURMEmailParser implements EmailParser {
         return jobStatusResult;
     }
 
-    private JobState getJobState(String state) {
+    private JobState getJobState(String state, String subject) {
         switch (state.trim()) {
             case BEGAN:
                 return JobState.ACTIVE;
             case ENDED:
+                Matcher matcher = cancelledStatePattern.matcher(subject);
+                if (matcher.find()) {
+                   return JobState.CANCELED;
+                }
                 return JobState.COMPLETE;
             case FAILED:
                 return JobState.FAILED;