You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Neal R Lewis <nr...@us.ibm.com> on 2013/11/17 19:03:42 UTC
DUCC Work Items and Send To Last
I'm a having trouble visualizing what's happening with Send To Last and
Work Items when there is a Cas Multiplier in a pipeline controlled by the
DUCC Flow Controller, and I'm hoping to get some clarification.
Let's assume a pipeline like that in the Sample that contains a CR as the
Job Driver, and the JP contains a CM, AE, and CC.
If I understand correctly, the CR's getNext() returns a single Workitem
CAS - a CAS tagged with the Workitem FS and references to data. The Work
Item CAS is sent the the JP, where the CM creates multiple CASes based on
these references and sends them down the pipeline. Normally, the WorkItem
CAS would not continue down the pipeline after the CM (depending on
configurations). The AE calls process() on each of the new CASes created
by the CM, sending them to the CC, which also calls process() on each of
these fragments.
My question is, if SendToLast is true, what CAS does the CC call process()
on? Does it receive the workItem CAS and the CASes created by the CM as a
single CAS? Or, does it receive the multiple CASes from the CM, and call
process() on each of those, and also receive the Workitem ( maybe before
receiving the fragments)?
Thanks for any clarification!
Neal
Re: DUCC Work Items and Send To Last
Posted by Neal R Lewis <nr...@us.ibm.com>.
Thanks Eddie, that clears it up for me.
From: Eddie Epstein <ea...@gmail.com>
To: user@uima.apache.org
Date: 11/17/2013 06:24 PM
Subject: Re: DUCC Work Items and Send To Last
On Sun, Nov 17, 2013 at 1:03 PM, Neal R Lewis <nr...@us.ibm.com> wrote:
> Let's assume a pipeline like that in the Sample that contains a CR as
the
> Job Driver, and the JP contains a CM, AE, and CC.
>
> If I understand correctly, the CR's getNext() returns a single Workitem
> CAS - a CAS tagged with the Workitem FS and references to data. The
Work
> Item CAS is sent the the JP, where the CM creates multiple CASes based
on
> these references and sends them down the pipeline. Normally, the
WorkItem
> CAS would not continue down the pipeline after the CM (depending on
> configurations). The AE calls process() on each of the new CASes created
> by the CM, sending them to the CC, which also calls process() on each of
> these fragments.
>
Correct description for *each and every* workItem CAS returned by the CR.
>
> My question is, if SendToLast is true, what CAS does the CC call
process()
> on? Does it receive the workItem CAS and the CASes created by the CM as
a
> single CAS? Or, does it receive the multiple CASes from the CM, and
call
> process() on each of those, and also receive the Workitem ( maybe before
> receiving the fragments)?
>
Without SendToLast the workItem CAS goes to the CM, and then after all
processing of child CASes has completed it is returned to the JobDriver.
With SendToLast = true, after all processing on child CASes has completed
the workItem CAS is sent to the CC and then returned.
Eddie
Re: DUCC Work Items and Send To Last
Posted by Eddie Epstein <ea...@gmail.com>.
On Sun, Nov 17, 2013 at 1:03 PM, Neal R Lewis <nr...@us.ibm.com> wrote:
> Let's assume a pipeline like that in the Sample that contains a CR as the
> Job Driver, and the JP contains a CM, AE, and CC.
>
> If I understand correctly, the CR's getNext() returns a single Workitem
> CAS - a CAS tagged with the Workitem FS and references to data. The Work
> Item CAS is sent the the JP, where the CM creates multiple CASes based on
> these references and sends them down the pipeline. Normally, the WorkItem
> CAS would not continue down the pipeline after the CM (depending on
> configurations). The AE calls process() on each of the new CASes created
> by the CM, sending them to the CC, which also calls process() on each of
> these fragments.
>
Correct description for *each and every* workItem CAS returned by the CR.
>
> My question is, if SendToLast is true, what CAS does the CC call process()
> on? Does it receive the workItem CAS and the CASes created by the CM as a
> single CAS? Or, does it receive the multiple CASes from the CM, and call
> process() on each of those, and also receive the Workitem ( maybe before
> receiving the fragments)?
>
Without SendToLast the workItem CAS goes to the CM, and then after all
processing of child CASes has completed it is returned to the JobDriver.
With SendToLast = true, after all processing on child CASes has completed
the workItem CAS is sent to the CC and then returned.
Eddie