Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Block Until Done for Separate Streams in a Workflow

paulwini
7 - Meteor

Hi Everyone,

 

I have a workflow with three separate streams A, B, and C. The inputs all read from a SQL table, and the outputs all write to a SQL table. I need stream A to finish writing to its SQL table before either stream B or C starts running. I know there is the Block Until Done tool available, but my current understanding is this is best used for connected streams.

 

Does anyone have insights into how I can prevent streams B & C from starting before stream A has finished in its entirety?

 

Attached is an oversimplified version of the workflow. In my workflow I'll be reading & writing to SQL rather than using Text Inputs & Excel, but I wanted to include a visual representation of how my workflow is designed.

 

Screenshot 2022-05-27 153017.png

 

Thank you,

Paul

3 REPLIES 3
apathetichell
18 - Pollux

gnerate rows tool - set it to create 1 record. connect the generate rows tool via an append tool to each of the streams and have it run through a block until done. drop the generate rows column via a select tool prior to output.

 

make sure to use the "allow appends greater than 16 records" toggle.

ddiesel
13 - Pulsar
13 - Pulsar

Hi @paulwini!

 

Another approach would be to utilize the Parallel Block Until Done Crew Macro. It's a nifty tool I use often.

 

It is very similar to Block Until Done, but instead of having one input and three outputs, there are two inputs and two outputs. Stream 1 will complete before stream 2 begins. Since you have 3 streams, you can stack a 2nd tool to control the order of tools like this:

 

Capture.JPG

 

You can download this and other Crew Macros here:

http://www.chaosreignswithin.com/p/macros.html

 

I am also attaching a packaged workflow with the macro. Let us know if this helps!

 

Thanks,
Deb

paulwini
7 - Meteor

Thank you! This was very helpful. Is there a way to prevent the Input Stream B tool from starting until the StreamAOutput tool has finished writing? In my workflow, the Input tool for Stream B uses a query to pull from the SQL table in the output of Stream A, so I need the data to finish writing to the Stream A SQL table before the Input for Stream B starts reading from the table. Thank you for your help with all of this.

Labels