You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@groovy.apache.org by Schalk Cronjé <ys...@gmail.com> on 2015/09/02 16:25:39 UTC
GPars Kanbanflow question
THe essence of my question is: "How do I know that there is no more work
left within a KanbanFlow?"
In practice what is happening is that I have something like:
{ (1) DataFlowQueue from which producer reads } | { some processing
in consumer node (2), sends final data to an Actor instance (3) }
I can determine when there will be no more data to be placed into the
DataFlowQueue (1).
I can also determine when the Actor has finished all the work it
received (3).
However I have no idea how to determine whether there in work-in-process
in (2). This means that I can prematurely call stop() on my KanbanLink
instance and lose data.
--
Schalk W. Cronjé
Twitter / Ello / Toeter : @ysb33r
Re: GPars Kanbanflow question
Posted by Schalk Cronjé <ys...@gmail.com>.
That's an idea to try. Thanks.
On 03/09/2015 00:45, Bob Brown wrote:
> Can you send an “I have finished processing” message from 1? 2 will see this after everything else, can pass it on to 3 and then stop…
>
> 2 and 3 become soemthing like:
>
> class Stop {}
>
>
> intermediaries << Actors.messageHandler {
> when { Stop msg -> stop() }
> when { msg -> reply msg }
> }
>
>
> I put this together here:
>
> http://wordpress.transentia.com.au/wordpress/2010/03/05/playing-with-gpars/
>
> HTH
>
> BOB
>
>
>
>
> On 3/09/2015 12:25 am, "Schalk Cronjé" <ys...@gmail.com> wrote:
>
>> THe essence of my question is: "How do I know that there is no more work
>> left within a KanbanFlow?"
>>
>> In practice what is happening is that I have something like:
>>
>> { (1) DataFlowQueue from which producer reads } | { some processing
>> in consumer node (2), sends final data to an Actor instance (3) }
>>
>> I can determine when there will be no more data to be placed into the
>> DataFlowQueue (1).
>> I can also determine when the Actor has finished all the work it
>> received (3).
>>
>> However I have no idea how to determine whether there in work-in-process
>> in (2). This means that I can prematurely call stop() on my KanbanLink
>> instance and lose data.
>>
>>
>> --
>> Schalk W. Cronjé
>> Twitter / Ello / Toeter : @ysb33r
>>
--
Schalk W. Cronjé
Twitter / Ello / Toeter : @ysb33r
Re: GPars Kanbanflow question
Posted by Bob Brown <bo...@transentia.com.au>.
Can you send an “I have finished processing” message from 1? 2 will see this after everything else, can pass it on to 3 and then stop…
2 and 3 become soemthing like:
class Stop {}
intermediaries << Actors.messageHandler {
when { Stop msg -> stop() }
when { msg -> reply msg }
}
I put this together here:
http://wordpress.transentia.com.au/wordpress/2010/03/05/playing-with-gpars/
HTH
BOB
On 3/09/2015 12:25 am, "Schalk Cronjé" <ys...@gmail.com> wrote:
>
>THe essence of my question is: "How do I know that there is no more work
>left within a KanbanFlow?"
>
>In practice what is happening is that I have something like:
>
> { (1) DataFlowQueue from which producer reads } | { some processing
>in consumer node (2), sends final data to an Actor instance (3) }
>
>I can determine when there will be no more data to be placed into the
>DataFlowQueue (1).
>I can also determine when the Actor has finished all the work it
>received (3).
>
>However I have no idea how to determine whether there in work-in-process
>in (2). This means that I can prematurely call stop() on my KanbanLink
>instance and lose data.
>
>
>--
>Schalk W. Cronjé
>Twitter / Ello / Toeter : @ysb33r
>