is there a way, how can I call multiple workflows from single Master workflow?
But there is a catch - I need each workflow in the line wait, until previous one finishes (because they use some data from previous one - like excel writer and reader).
I know there are “Call Workflow Service”, but I don’t see a way how to cascade them in a way, that it will wait until workflow is finished until it launches next one.
one way is using a Java Snippet / Python Snippet and calling the workflow from within.
just make sure you have it wait for the process to finish.
a different approach if you have easy access to the local filesystem, is writing a file and having your called workflow delete that file. you can use the wait node (or a never ending loop) to check if the file is still present and only continue when its gone (or e.g. abort after 2h)
@Michal_Firyt you can put the Calls in a Row and connect them thru a Flow Variable. The Flow Variable can go into the sub-workflow to continue making sure the order is being followed.
In the future I would hope that devs will make some easier way how to call whole workflows in some order we define with possibility of waiting until previous flow will finish its job.
These workarounds are way too complicated for such simple thing as a calling multiple workflows from one master workflow.
You can also try just to connect them via Flow Variables since flow variables is the way to go inside KNIME. With the KNIME Business Hub you can also use REST-API calls.
And basically I’m connecting master flow with sub-flows single valiable that is changing everytime I execute master flow, because it generates current time and therefore sub-flow reset themselves as they receive new data in that pushed variable.
When I was using constant variable, sub-flows executed just once, for the first time they received constant variable from master flow. Now when variable from master flow is changing everytime I execute master flow, it works and every sub-flow executes again.