You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2013/08/21 13:44:51 UTC
svn commit: r1516141 -
/uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java
Author: degenaro
Date: Wed Aug 21 11:44:51 2013
New Revision: 1516141
URL: http://svn.apache.org/r1516141
Log:
UIMA-3165 DUCC webserver (WS) zero work items
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java?rev=1516141&r1=1516140&r2=1516141&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java Wed Aug 21 11:44:51 2013
@@ -116,6 +116,8 @@ public class JobDriver extends Thread im
private ConcurrentHashMap<String,WorkItem> casWorkItemMap = null;
+ private long total = -1;
+
public JobDriver() {
super();
}
@@ -161,29 +163,31 @@ public class JobDriver extends Thread im
casSource = new CasSource(this, crxml, crcfg, casDispatchMap);
Progress progress = casSource.getProgress();
if(progress != null) {
- long total = progress.getTotal();
+ total = progress.getTotal();
duccOut.info(location, jobid, "total: "+total);
driverStatusReport.setWorkItemsTotal(total);
}
duccOut.debug(location, jobid, "CAS source initialized");
- // Initialize job process exception handler
- String jdProcessExceptionHandlerClassName = job.getDriver().getProcessExceptionHandler();
- if(jdProcessExceptionHandlerClassName != null) {
- try {
- jdProcessExceptionHandler = JdProcessExceptionHandlerLoader.load(job.getDriver().getProcessExceptionHandler());
- duccOut.info(location, jobid, "user specified handler = "+jdProcessExceptionHandlerClassName);
+ if(total > 0) {
+ // Initialize job process exception handler
+ String jdProcessExceptionHandlerClassName = job.getDriver().getProcessExceptionHandler();
+ if(jdProcessExceptionHandlerClassName != null) {
+ try {
+ jdProcessExceptionHandler = JdProcessExceptionHandlerLoader.load(job.getDriver().getProcessExceptionHandler());
+ duccOut.info(location, jobid, "user specified handler = "+jdProcessExceptionHandlerClassName);
+ }
+ catch (Exception e) {
+ duccOut.error(location, jobid, e);
+ duccErr.error(location, jobid, e);
+ driverStatusReport.setInitializingFailed(new Rationale("job driver exception occurred: "+summarize(e)));
+ terminate();
+ throw new JobDriverTerminateException("initialize failed", e);
+ }
}
- catch (Exception e) {
- duccOut.error(location, jobid, e);
- duccErr.error(location, jobid, e);
- driverStatusReport.setInitializingFailed(new Rationale("job driver exception occurred: "+summarize(e)));
- terminate();
- throw new JobDriverTerminateException("initialize failed", e);
+ else {
+ duccOut.info(location, jobid, "default handler = "+JdProcessExceptionHandler.class.getName());
}
}
- else {
- duccOut.info(location, jobid, "default handler = "+JdProcessExceptionHandler.class.getName());
- }
}
catch(JobDriverTerminateException e) {
throw e;
@@ -202,8 +206,15 @@ public class JobDriver extends Thread im
}
public void run() {
+ String location = "run";
try {
- process();
+ if(total > 0) {
+ process();
+ }
+ else {
+ duccOut.warn(location, jobid, "no work items to process");
+ }
+
}
catch (JobDriverTerminateException e) {
}