Hello Stian, I forgot to mention that the two ports are just an example. In reality, we have a variable number of such ports (up to 15-20) which is different for different workflows. It already works if I use an input port with a higher depth and a merge, but the performance is not ideal.
Thanks, Dennis On 02.02.2011 15:42, Stian Soiland-Reyes wrote: > On Wed, Feb 2, 2011 at 13:04, Dennis Neumann<[email protected]> > wrote: > >> I have a service that has one single-value input and two single-value >> output ports. When I give it a list INPUTS, it gives me the outputs >> OUT1_A and OUT2_A as soon as INPUTS[1] is done, and so on. Now, I want >> to use those values in another service as soon as they are there. The >> idea is that the second service can start before the first one has >> finished for a better performance. >> >> The problem is that there is only one input port in the second service, >> which is of type list. Unfortunatly, if I use a Merge, it waits for the >> first service to finish all the way and gives the whole result lists to >> the second one. But what I'd like to have is OUT1_x and OUT2_x together >> in one list. Is there something like a "dot product" for a merge? Or >> maybe some tweaks in list handlings of the two services? > It sounds like what you need is a 'list maker' shim. I don't believe > we have such a local worker at the moment. > > A quick solution would be to create a Beanshell script with two inputs > 'in1' and 'in2' (list depth 0), and one output 'out1' (list depth 1). > In the script do: > > out1 = new String[]{in1, in2}; > > > You can then set the dot product on this processor as soon as it's > connected up, and it should output tuples for you, one by one as they > are produced upstream. > > See http://www.myexperiment.org/workflows/1826.html for an example workflow. > > > As for using the Merge for this, the only way I can think of would be > to create a nested workflow with two depth 0 inputs, one output, and > just wire it straight to the output port (creating a merge). You would > then again need to use the dot product in the parent workflow after > connecting it up. > > Unless you are dealing with large data that you don't want to push > through Beanshell scripts I would not recommend this nested workflow > solution as it would likely confuse other workflow authors. > > ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ taverna-hackers mailing list [email protected] Web site: http://www.taverna.org.uk Mailing lists: http://www.taverna.org.uk/about/contact-us/ Developers Guide: http://www.taverna.org.uk/developers/
