[ 
https://issues.apache.org/jira/browse/SLING-7707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicolas Peltier updated SLING-7707:
-----------------------------------
    Description: 
pipe that executes its subpipes in sequence or in parallel, with no relation 
ship between them, and returns the union of the outputs, like a or / {{+}} 
operator (as opposed to actual Container Pipe that chain them together and 
could be the {{x}} operator)

Considering subpipe1, subpipe2, ...subpipeN, we could 
- execute them in sequence (easy case),
- execute them in parallel (default configuration for performance first, with 
{{parallel=true}} & {{maxThreads=5}} (on my laptop heavy thread consumes ~10% 
CPU except at commit time)

one important thing to consider is the PipeBinding object should be duplicated 
and passed to the subpipe (it's ok to assume container pipe of the executor 
pipe should not have effects on its bindings). Use case for this is 
{{.echo("/content/mysite").children("some:Page").children("some:Page").name("locale").executor("ref1","ref2","ref3","ref4")}}
should basically call, for each locale, in parallel, "ref1","ref2","ref3" 
and"ref4", that all have in their bindings path.locale to work with



  was:
pipe that executes its subpipes in sequence or in parallel, with no relation 
ship between them, and returns the union of the outputs, like a or / {{+}} 
operator (as opposed to actual Container Pipe that chain them together and 
could be the {{x}} operator)



> Create Executor Pipe
> --------------------
>
>                 Key: SLING-7707
>                 URL: https://issues.apache.org/jira/browse/SLING-7707
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: pipes 2.0.2
>            Reporter: Nicolas Peltier
>            Priority: Major
>
> pipe that executes its subpipes in sequence or in parallel, with no relation 
> ship between them, and returns the union of the outputs, like a or / {{+}} 
> operator (as opposed to actual Container Pipe that chain them together and 
> could be the {{x}} operator)
> Considering subpipe1, subpipe2, ...subpipeN, we could 
> - execute them in sequence (easy case),
> - execute them in parallel (default configuration for performance first, with 
> {{parallel=true}} & {{maxThreads=5}} (on my laptop heavy thread consumes ~10% 
> CPU except at commit time)
> one important thing to consider is the PipeBinding object should be 
> duplicated and passed to the subpipe (it's ok to assume container pipe of the 
> executor pipe should not have effects on its bindings). Use case for this is 
> {{.echo("/content/mysite").children("some:Page").children("some:Page").name("locale").executor("ref1","ref2","ref3","ref4")}}
> should basically call, for each locale, in parallel, "ref1","ref2","ref3" 
> and"ref4", that all have in their bindings path.locale to work with



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to