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/06/28 13:36:00 UTC

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

    [ https://issues.apache.org/jira/browse/UIMA-5342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16066488#comment-16066488 ] 

Jerry Cwiklik commented on UIMA-5342:
-------------------------------------

Disregard comment from 07/Mar/17 above. This comment was made in error. The issue described therein belongs to JIRA 5311.

> 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
>            Assignee: Jerry Cwiklik
>             Fix For: 2.2.1-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.4.14#64029)