Alteryx Designer Desktop Discussions

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

Pausing in between tasks -- A question

ITG1
7 - Meteor

Hello,

 

I have a workflow that runs well but now has 3 extra steps at the end of it to consider.  All 3 steps involve invoking a Stored Procedure that triggers an Oracle concurrent job and needs to do some check to make sure the previous job finished before moving onto the 2nd and 3rd jobs, etc.  So rudimentarily something like this:

 

Do a bunch of stuff and then at the end pass some user variables and execute a stored proc post sql (this is complete and working) -> do some check to make sure the concurrent job the stored procedure ran has finished, then kickoff the next stored procedure w/user driven variables -> check to make sure that concurrent job completed -> run the final one

 

So basically my question is, is there a tool where after I run the first job, I can tell Alteryx to run a query to look to see if the job completed and if it did to continue on, my issue is each job may take a few hours so while it's not the end of the world if the workflow takes 8 hrs or whatever to finish since that's probably what would happen IRL if someone manually looked in the table and then kicked off another concurrent job, etc, I'm wondering if there's a more efficient way in Alteryx to handle checking something on the backend and only after it satisfies that criteria, move onto the next container in the workflow.

 

Thanks

5 REPLIES 5
CathyS_Slalom
9 - Comet

Hi @ITG1 , you could try to use the block until done tool to make sure the workflow finishes the 1st task first, and then start run the next.

CathyS_Slalom_0-1658434750663.png

 

ITG1
7 - Meteor

Thanks!  Can I use the Block Until Done to act upon some specific condition, like the if the results of a select query are satisfactory then continue for example.

 

1. If Select * from x = y, then

2. continue overall workflow and run this next stored procedure

3. Else wait until Step 1 = true

CathyS_Slalom
9 - Comet

Hi @ITG1, if you want to run a test to decide whether block or not, you could try the blocking test tool from CReW Macros. You can learn more from https://www.youtube.com/watch?v=Qncxonr8QkY 

 

And download the packaged macros from here, http://www.chaosreignswithin.com/p/macros.html 

ArtApa
Alteryx
Alteryx

Hi @ITG1 - You may want to try creating an Iterative Macro to implement the described by you "if-then-else" logic. To learn about Macros and how to build them please watch the following: https://community.alteryx.com/t5/Interactive-Lessons/tkb-p/interactive-lessons/label-name/Macros 

ITG1
7 - Meteor

I'm getting confused as to the best approach for this as it looks like there are potentially various ways to implement.  My main issue I need to solve though is:

 

1.  Run a select statement to bring back a record set

2.  Run a check to see if all data for all rows returned by that query has 1 column changed from 'N' to 'Y'

3.  If it is not, keep checking that queried record set constantly/looping? to see if all rows have changed that 1 column from 'N' to 'Y'

4.  When it finally changes for all records (could take a few hours), then go ahead and run a stored proc

5.  Repeat this process a few times as we have other stored procs to run this way in the workflow

 

I've gotten various responses (and thank you for all of your help!) ranging from using out of the box iterative macros, CReW macros such as Parallel Block Until Done or Blocking Test Tool, etc.

 

I'm a little bit overwhelmed by the available options.  If I need to do Steps 1-5 in the above, is there a CReW macro (or other approach) that allows me to do this easily/efficiently?

 

Thanks again for all the suggestions!  This is such a great forum.

 

Cheers

Labels