This PR adds the ability to detect and deploy nested workflows
It works by highjacking the ServiceManager that is inside each workflow. Before injecting the workflow into a step, it optionally checks if that workflow already exists as a service, and then swaps in a new workflow that just makes calls to the remote workflow.
This means users need zero code changes to their existing workflows, they just have to deploy everything, and reap the benefits :)
One concern I had was that the nested workflow always creates (and deletes) a new session. Tbh I wanted to reuse the existing session, but couldn't find a way to insert it. Maybe a future PR :)
This PR adds the ability to detect and deploy nested workflows
It works by highjacking the
ServiceManager
that is inside each workflow. Before injecting the workflow into a step, it optionally checks if that workflow already exists as a service, and then swaps in a new workflow that just makes calls to the remote workflow.This means users need zero code changes to their existing workflows, they just have to deploy everything, and reap the benefits :)
One concern I had was that the nested workflow always creates (and deletes) a new session. Tbh I wanted to reuse the existing session, but couldn't find a way to insert it. Maybe a future PR :)
Script1 (deploying core services)
Script2 (creating and deploying workflows)
Script3 (using the client)