Repository: airavata Updated Branches: refs/heads/develop ca89eaee4 -> 9e4dccffc
set process cancel property when cancel watcher triger Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/9943dbff Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/9943dbff Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/9943dbff Branch: refs/heads/develop Commit: 9943dbff2857be3f4f4ae2ce5acbf343ce864b1d Parents: 6aaea39 Author: Shameera Rathnayaka <[email protected]> Authored: Mon Nov 23 14:52:29 2015 -0500 Committer: Shameera Rathnayaka <[email protected]> Committed: Mon Nov 23 14:52:29 2015 -0500 ---------------------------------------------------------------------- .../airavata/gfac/impl/GFacEngineImpl.java | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/9943dbff/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java index d59f460..69aeb12 100644 --- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java +++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java @@ -580,11 +580,21 @@ public class GFacEngineImpl implements GFacEngine { @Override public void cancelProcess(ProcessContext processContext) throws GFacException { - if (processContext.getProcessState() == ProcessState.MONITORING) { - // get job submission task and invoke cancel - JobSubmissionTask jobSubmissionTask = Factory.getJobSubmissionTask(processContext.getJobSubmissionProtocol()); - TaskContext taskCtx = getJobSubmissionTaskContext(processContext); - executeCancel(taskCtx, jobSubmissionTask); + if (processContext != null) { + processContext.setCancel(true); + switch (processContext.getProcessState()) { + case MONITORING: + // get job submission task and invoke cancel + JobSubmissionTask jobSubmissionTask = Factory.getJobSubmissionTask(processContext.getJobSubmissionProtocol()); + TaskContext taskCtx = getJobSubmissionTaskContext(processContext); + executeCancel(taskCtx, jobSubmissionTask); + break; + case COMPLETED: case FAILED: case CANCELED : case CANCELLING: + log.warn("Process cancel trigger for already {} process", processContext.getProcessState().name()); + break; + default: + break; + } } }
