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]*),.*";
