I have few subworkflows starts with an input components within a module. How do I control the sequence of the execution of each subworkflow?
I agree with the 'append' tool. I just have a text tool with one dummy record in it which I connect to the source side of the append tool. After the append tool, I drop that dummy rec. This trick helps to control the flow.
Second, you could look at the Tool ID (in properties > Annotation). Tools with lower number run first, but not sure if that still happens in recent version of Alteryx. I used to copy /paste the tools into a new canvas first - so they would run first.
Third, try the block tool but I never had much luck with it. Some artisans drop 3,4,5 blocks in a row to control the flow but I always thought that was a dirty fix.
Hey @dhydrated
This is a common issue, especially where you're prepping data in one flow, then need to join to it in the second.
The way we get around this is to wrap them in Batch Macros. From my understanding, Batch Macros are unique in that they isolate the flow of processing from the next step.
There are a good few ideas in the Ideas section about controlling flow (e.g. https://community.alteryx.com/t5/Alteryx-Product-Ideas/Control-Order-of-Execution-of-Workflow-Objects-Container/idi-p/1851) - so it's well worth giving your views and your pain points on the ideas section to provide the Alteryx team with input and feedback from the community and user base
BTW - let me know if we need to mock this up to help you?
After using Alteryx for a full year I reached a couple of conclusions.
Alteryx is relatively easy to use but its orchestration capabilities leave much to desire, but again Alteryx is NOT an orchestration solution.
How can someone purchase a alteryx server and have to manage jobs in schedule table? What if you have 500 jobs with interdependencies? how are you going to manage that?.
I must say I'm a fan of DAGs, Airflow is the best solution I found https://airflow.apache.org/. I installed it, created a couple of jobs and loved it.
Alteryx should come up with a scheduling solution, separate from Alteryx product that executes jobs as a DAG, much like Airflow. Another alternative would be to enable jobs to be run by a command line in any OS, this would enable people to use Airflow and link together a series of Alteryx jobs, not perfect but it would work.
If it was today I would have probably just went with Airflow and Python.
Joao
Has anyone tried to use airflow to manage / schedule highly mixed Alteryx workflows and python scripts with success? I knew the new Alteryx version has python built in. However, instead of using Alteryx as the main tool with python scripts embedded in, I'd like to use python as the main tool and leveraging Alteryx for some heavy duty data transformation.
Hi @mark_frisch ,
Thanks,
S.
Hi everyone,
We have to admit that having control of how a workflow is executed is critical.
I hope in the future Alteryx recognizes this fact and provides the functionalities to achieve this goal. Block until done, macros, etc., are not true solutions for this need.
I really like Alteryx because people who have no programming background can do a lot, making it easier to work with entry level consultants and people with no programming background. However, these limitations can result in using Alteryx only for small-scale projects.
Regards,
CMS
This is a great question, as I need a solution to halt a circular reference; I need one path of Alteryx to get done before a second path... There use to be a node that had three outputs that did the outputs in order. I had it saved as a favorite on an older version. That would be helpful... I googled Alteryx Nodes, but I don't see them. If I new the name of the node, it might pop up for me to select. Thanks for your post, hopefully someone else knows what I'm referring to.
Use the "Block until done" tool
It's 2022 now and there's still no elegant way to control the order of execution. Block until done is fine, but it only accepts one input. And if you need more than that, you need to chain a lot of it. In some scenarios where input is not applicable or if your data source are from multiple places, it can be a pain.So why don't you make it accept multiple inputs, and then inside the configuration, let us drag and drop the order of how we want to execute it.
And for the output, let us configure which output anchor to map to. If output anchor is not mapped, then it will be set based on the positioning/order of the items in the input list.
Alteryx needs to continue to the subsequent flow and run if there are no input fields for the user. Or even continue after X seconds and no inputs.
Simple solution is turn off AMP, it will follow flow control
Have you tried the Control containers that were delivered in 2023?
Control Containers: Take Control of Your Workflow - Alteryx Community