Running each workflow as a different process

What happens to workflows when I run each of them as a different process?

-> Parent workflow as different application
-> Child workflow as different application

Any steps i need to consider for achieving the above use-case

2 Likes

I assume that you are asking about different pools of processes as for fault tolerance we don’t recommend running a single instance of a workflow worker process.

Workflow code is registered with a Worker object that SDKs provide. The Worker is essentially a task queue consumer that receives workflow tasks and processes them generating commands.

So if you want to run independent pools of Workers each implementing different set of workflows then they should listen on different task queues.

So the following should be done for workflow and child workflow to be deployed as separate services:

  1. Workflow and child workflow workers should listen on different task queues.
  2. Appropriate task queue should be used when starting a parent.
  3. When parent start a child workflow it should specify the child workflow task queue in its options.

The same applies to activities. Each time you want to run a set of activities in a separate service they have to use a different task queue. And the workflow which invokes them has to explicitly to specify that task queue through activity options.

2 Likes

@maxim Thanks for the quick response. I’ll give it a try and let you know