I have a master gallery workflow that runs a sequence of other gallery workflows that are launched via API. I'm looking for ideas on how to prevent each successive workflow from running until the previous workflow is completed.
Control containers don't work(at least not based on my understanding). I tried daisy chaining them in the usual way and each one just get's kicked off as soon as the previous one launches.
API's are the right way to go about doing this from a workflow to workflow perspective. @abacon can help chime in here.
If you're talking about sequencing things within a single workflow... Control Containers are a good option if you're on v2024+. I know Control Containers came out with version 2023.1 but there are some quirks that make it unreliable on server until you get on a later version. Also requires AMP, etc. etc. etc.
@csh8428 I would use Control containers but you will need another step in each container for it to complete.
Use the v3/jobs/{jobid} api within an iterative macro to keep checking if the current job is completed. Once it's complete, have the macro finish, therefore triggering the next workflow.
How I would do this is using the server api tool to trigger the job, then get the job ID, pass it into the macro and run until the job is complete, then repeat for the next workflow that needs to run.
Bacon
@abacon your ears must have been ringing as I was typing out my response. Cause as soon as I hit post, you popped up! Thanks for helping on this one. -Jay
@jrlindem I was wondering why my API senses were tingling haha.
Also @csh8428 - here are some resources on iterative macros if you haven't used them:
https://help.alteryx.com/current/en/designer/apps-and-macros/macros/iterative-macro.html
https://www.youtube.com/watch?v=AByfTPqrUrQ
Additionally, I have attached the macro I built that has done this. You will need to get the job ID from each run and pass it in, but it's relatively straight forward.
Hope this helps!
Bacon
User | Count |
---|---|
106 | |
85 | |
76 | |
54 | |
40 |