You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Jerry Cwiklik (JIRA)" <de...@uima.apache.org> on 2017/03/01 15:01:45 UTC

[jira] [Created] (UIMA-5342) UIMA-DUCC: implement a new driver with support for pluggable task allocation component

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)