class AnyGroupList
The AnyGroupList is an implementation of a Group in which all the outputs from the Worker processes are written to the ChannelOutputList outputList. The input comes from a single process using a one2any channel. Typically the sending processes will be a sequence of an Emit and a FanOutAny process and the AnyGroupList will be the first such Group in a sequence of such groups. The advantage of using the AnyGroupList is that as members of the group finish processing a data object they can move onto another one, if one should exist. Thus the Group mechanism allows the elements of processing to get out of sync with each other.
inputAny
- A ChannelInputfrom which each Worker process reads .outputList
- A ChannelOutputList with as many channels as the value of workers.
Each Worker process writes to just one of the channelsgDetails
- A GroupDetails object defining any local class of each worker, default to nullfunction
- The name of the function identifying the operation to be undertaken
by the Worker processesmodifier
- Contains a possible modifier for the operation, with each Worker
accessing the element that corresponds to the index of the Worker.workers
- The number of Worker processes that will be created
when the Group is runoutData
- If true the worker processes will output each processed input object. If false the process will output
the workerClass once only, after it has processed all the input data objects. The output
only happens after the finalise method has been called. outData defaults to true.synchronised
- If true the worker processes will synchronise with each other before they output any data,
thereby providing a means whereby each worker process will output results once the process
reading from the final stage of the pipeline has read that datalogPhaseName
- an optional string property, which if specified indicates that the process should be logged
otherwise the process will not be logged. Each process in the group will be uniquely indexed.logPropertyName
- the name of a property in the input object that will uniquely identify an instance of the object.
LogPropertyName must be specified if logPhaseName is specifiedType | Name and description |
---|---|
String |
function |
GroupDetails |
gDetails |
ChannelInput |
inputAny |
String |
logPhaseName |
String |
logPropertyName |
List |
modifier |
boolean |
outData |
ChannelOutputList |
outputList |
boolean |
synchronised |
int |
workers |
Constructor and description |
---|
AnyGroupList
() |
GPP - Groovy Parallel Patterns generated 06112016 by Jon Kerridge, Edinburgh Napier University - j.kerridge@napier.ac.uk