You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by bf...@apache.org on 2011/02/19 00:55:11 UTC

svn commit: r1072203 - in /oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine: ./ runner/

Author: bfoster
Date: Fri Feb 18 23:55:11 2011
New Revision: 1072203

URL: http://svn.apache.org/viewvc?rev=1072203&view=rev
Log:

- added shutdown method to EngineRunner

-----------------

Modified:
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java Fri Feb 18 23:55:11 2011
@@ -168,6 +168,9 @@ public class WorkflowEngineLocal impleme
 			runnerThread.join(5000);
 		}catch(Exception e) {}
 		this.queueManager.shutdown();
+		try {
+			this.runner.shutdown();
+		}catch (Exception e) {}
 	}
 	
 	public void pauseRunner() throws EngineException {

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java Fri Feb 18 23:55:11 2011
@@ -35,4 +35,6 @@ public abstract class EngineRunner {
 	
 	public abstract void execute(TaskInstance workflowInstance) throws Exception;
 	
+	public abstract void shutdown() throws Exception;
+
 }

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java Fri Feb 18 23:55:11 2011
@@ -81,6 +81,11 @@ public class HadoopRunner extends Engine
 	public boolean hasOpenSlots(TaskInstance workflowInstance) throws Exception {
 		return true;
 	}
+	
+	@Override
+	public void shutdown() throws Exception {
+		
+	}
 
 //	public static class MapperTask extends Mapper<Object, Text, Text, File> {
 //		private Text outputFilesText = new Text("OutputFiles");

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java Fri Feb 18 23:55:11 2011
@@ -40,6 +40,7 @@ public class LocalEngineRunner extends E
 	private int numOfSlots;
 	private int usedSlots = 0;
 	private List<TaskInstance> cache;
+	private boolean running = true;
 	
 	public LocalEngineRunner(int numOfSlots, int cacheSize) {
 		this.numOfSlots = numOfSlots;
@@ -47,7 +48,7 @@ public class LocalEngineRunner extends E
 		if (this.cacheSize > 0) {
 			new Thread(new Runnable() {
 				public void run() {
-					while (true) {
+					while (running) {
 						try {
 							if (LocalEngineRunner.this.numOfSlots > LocalEngineRunner.this.usedSlots && LocalEngineRunner.this.cache.size() > 0)
 								LocalEngineRunner.this.execute(LocalEngineRunner.this.cache.remove(0));
@@ -92,6 +93,11 @@ public class LocalEngineRunner extends E
 		return this.getOpenSlots(workflowInstance) > 0;
 	}
 	
+	@Override
+	public void shutdown() throws Exception {
+		this.running = false;
+	}
+	
 	private synchronized void incrSlots() {
 		usedSlots++;
 	}

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java Fri Feb 18 23:55:11 2011
@@ -56,6 +56,12 @@ public class MappedMultiRunner extends E
 		return this.getRunner(workflowInstance).hasOpenSlots(workflowInstance);
 	}
 	
+	@Override
+	public void shutdown() throws Exception {
+		for (EngineRunner runner : this.runnerMap.values())
+			try { runner.shutdown(); }catch (Exception e) {}
+	}
+	
 	private EngineRunner getRunner(TaskInstance workflowInstance) {
 		String runnerId = this.executionTypeToRunnerMap.get(workflowInstance.getExecutionType());
 		if (runnerId == null)

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java Fri Feb 18 23:55:11 2011
@@ -73,5 +73,10 @@ public class ResourceRunner extends Engi
 	public boolean hasOpenSlots(TaskInstance workflowInstance) throws Exception {
 		return this.getOpenSlots(workflowInstance) > 0;
 	}
+	
+	@Override
+	public void shutdown() throws Exception {
+		//do nothing
+	}
 
 }