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 <[email protected]> Authored: Mon May 18 15:50:14 2015 -0400 Committer: shamrath <[email protected]> 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;
