Jerry Cwiklik created UIMA-5342:
-----------------------------------

             Summary: UIMA-DUCC: implement a new driver with support for 
pluggable task allocation component
                 Key: UIMA-5342
                 URL: https://issues.apache.org/jira/browse/UIMA-5342
             Project: UIMA
          Issue Type: New Feature
          Components: DUCC
            Reporter: Jerry Cwiklik
             Fix For: future-DUCC


Implement a new embeddable driver component which will deliver Work Items to 
services that use GET/ACK/END protocol. This protocol is currently used between 
a JP and JD. Its a pull based, synchronous request/response exchange with a JP 
being a requestor. 

The new Driver will enable an application to plug in a callback listener which 
will implement the following interface:

public interface TaskAllocatorCallbackListener  {
        public String getSerializedCAS(TaskConsumer taskConsumer);
        
        public void onTaskSuccess(TaskConsumer taskConsumer, 
IPerformanceMetrics metrics);
        
        public void onTaskFailure(TaskConsumer taskConsumer, String 
stringifiedException);
}

The Driver will call getSerializedCAS() when it receives a GET request from a 
remote service, The method must return a serializedCAS or null if there are 
none available. The TaskConsumer argument identifies where the CAS will be 
processed [ host, pid, thread id, service type ]. 

The Driver will call onTaskSuccess() when it receives END from a remote service 
and processing of a CAS succeeded. In addition to TaskConsumer argument, the 
IPerformanceMetrics instance will be passed in which will contains performance 
breakdown.

The Driver will call onTaskFailure() when it receives END from a remote service 
and processing of a CAS failed. In addition to TaskConsumer argument, a 
serialized exception (String) will be passed in to identify the cause of 
failure.

The Driver assumes that the TaskAllocatorCallbackListener implementation will 
catch and handle its errors and none will be rethrown.





--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to