I have a series of components that data flows through. Between one component and the next, I would like to trigger a sub-job. I can't insert the subjob between the two components because the data does not flow through the sub-job, and I need the data to flow. So my question is, given something like this: tMap --> tLogrow --> tOutPutDelimited --> tMap after the tLogRow runs and BEFORE the tOutputDelimited runs, I would like a subjob to run to completion. How can I do this and still have the data form the tLogRow flow into the tOutPut Delimited?
I'm not sure that would really do it. My problem is with timing control. I want to do this, because componentB will not execute until SUBJOB is finished. This is an absolute requirement - SUBJOB must run to completion before componentB starts. componentA --> SUBJOB -> componentB The problem with the above is that the data does not flow through SUBJOB, and in fact SUBJOB does not need the data from componentA. So there does not seem to be a way to pass the data to SUBJOB in such a manner that it gets passed to componentB after SUBJOB is finished executing. I can do this: componentA -->componentB | ----> SUBJOB But componentB can start execution before SUBJOB is finished. If I fork like this, I loose control of the timing. tReplicate is the same problem - you fork, and loose control of the timing of the two pathways. Basically, I can't use a component that causes execution to fork because I can't control when each fork runs. But I can't put the component in the execution pathway because I loose the data flow :-) I might have to live with this, it's not that important. I use this for logging, and it just makes the logs cleaner if I can control execution when the execution path forks.
I think tBufferOutput and tBufferInput might work. JobA - is a child of JobB - has componentA which rights to tBufferOutput and calls SUBJOB JobB - calls JobA, - then after JobA onSubjobOk - tBufferInput goes to ComponentB