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
+ }
}