- From: Jostein Austvik Jacobsen <josteinaj@gmail.com>
- Date: Mon, 1 Nov 2010 14:35:40 +0100
- To: vojtech.toman@emc.com
- Cc: xproc-dev@w3.org
- Message-ID: <AANLkTi=nhMs6y4eDq3n+Yd5bGsGAjceWPvCr+iYGNA0X@mail.gmail.com>
Ah, that makes things simpler. So just to be sure: <p:group name="A"> <p:identity> <p:input port="source"> <p:pipe port="result" step="B"/> </p:input> </p:identity> <p:sink/> <my:step/> <p:identity> <p:input port="source"> <p:pipe port="result" step="C"/> </p:input> </p:identity> <p:sink/> </p:group> In this case, both B and C must complete before before my:step gets to run? (opposite to what I assumed at first) Regards Jostein 2010/11/1 <vojtech.toman@emc.com> > Ad 1. The p:pipe element creates a connection – and a dependency – > between steps. If the step A contains a p:pipe that points to the step B, it > means that A must be executed *after* B. It does not matter if the p:pipe is > in p:input, p:with-option, p:with-param, or p:variable. All p:pipe elements > contained in the step contribute edges to the dependency graph. > > > > Ad 2: There is no guarantee; but you don’t care in this case. The p:load > does not depend on p:sink being executed first. I used p:sink just to > introduce a side effect-free dependency on p:store. (You can also use other > steps than p:sink, provided they don’t introduce side effects that would > change the result of your pipeline.) > > > > Regards, > > Vojtech > > > > > > -- > > Vojtech Toman > > Consultant Software Engineer > > EMC | Information Intelligence Group > > vojtech.toman@emc.com > > http://developer.emc.com/xmltech > > > > *From:* Jostein Austvik Jacobsen [mailto:josteinaj@gmail.com] > *Sent:* Monday, November 01, 2010 1:46 PM > *To:* Toman, Vojtech > *Cc:* xproc-dev@w3.org > *Subject:* Re: How to run unconnected steps in sequence? > > > > 1. Thanks. I didn't know dependencies could be introduced that way. Is this > similar to what happens when you have multiple p:pipes in a p:input? > > > > 2. and 3.: How am I guaranteed that p:load won't run before the p:sink? > > > > Regards > > Jostein > > > > 2010/11/1 <vojtech.toman@emc.com> > > The solution is to introduce the dependency explicitly. Here are some > examples (all are variations on the same theme, but some may be more > applicable to your use case): > > > > 1. > > <p:store href=”file.xml” name=”store”/> > > <p:load> > > <p:with-option name=”href” select=”’file.xml’”> > > <p:pipe step=”store” port=”result”/> > > </p:with-option> > > </p:load> > > > > 2. > > <p:store href=”file.xml” name=”store”/> > > <p:group> > > <p:sink> > > <p:input port=”source”> > > <p:pipe step=”store” port=”result”/> > > </p:input> > > </p:sink> > > <p:load href=”file.xml”/> > > </p:group> > > > > 3. > > <p:group> > > <p:store href=”file.xml”/> > > <p:identity> > > <p:input port="source"> > > <p:empty/> > > </p:input> > > </p:identity> > > <p:group> > > <p:group> > > <p:sink/> > > <p:load href=”file.xml”/> > > </p:group> > > > > Some processors also support extension attributes to control dependencies > between steps, but I would recommend to avoid this unless absolutely > necessary. > > > > Regards, > > Vojtech > > > > -- > > Vojtech Toman > > Consultant Software Engineer > > EMC | Information Intelligence Group > > vojtech.toman@emc.com > > http://developer.emc.com/xmltech > > > > *From:* xproc-dev-request@w3.org [mailto:xproc-dev-request@w3.org] *On > Behalf Of *Jostein Austvik Jacobsen > *Sent:* Monday, November 01, 2010 1:01 PM > *To:* xproc-dev@w3.org > *Subject:* How to run unconnected steps in sequence? > > > > I remember seeing a note on this problem somewhere, but I can't find it. > Say I want to run these two steps in sequence: > > > > <p:store href="file.xml"/> > > <p:load href="file.xml"/> > > > > p:load would have to run after p:store, or the file wouldn't be there yet. > Since p:store has no primary output and p:load has no primary input, the > processor may choose the order they are run in. > > > > Is there a standard pattern for solving such issues? Something general, not > just for the store/load use-case? > > > > > > Regards > > Jostein Austvik Jacobsen > > >
Received on Monday, 1 November 2010 13:36:35 UTC