Can we deploy worker and workflows as separate springboot applications deployed in different pods?

Hi,

We are trying to come up with a workflow using Temporal. I would like to know if we can have the temporal worker as a springboot application deployed in say 2/3 pods in cloud and another springboot application as the workflow deployed in 1/2 pods. If so how do they communicate? How I can register the workflow class in the worker? Do you have any examples ?

Your workers execute your workflow and activity code so workers should have dependency on it (you don’t deploy them separately if that’s the question, you could develop your wf/act code as a library that then worker project uses as dependency).

Thanks for the reply. “you don’t deploy them separately” This is what I wanted to confirm.

Hi I have one more query, If say we have a workflow which is running for 2/3 months and in between we have to update the workflow to a new version. How do we achieve this? If we deploy the new version, the previous process may get stuck in between right?

Use getVersion, which allows updating workflows inflight.

Thanks we will try it out. One more clarification. When you say a Temporal workflow, does it include worker, workflow with activities and the initiator class? Are these a single unit? Or can I separate out initiator? and the rest of them as separate applications?

Yes, workflows can be started from a separate process. See the money transfer sample.

Hi, When we are trying to connect to CosmosDB Cassandra, we are getting the following error.

gocql: unable to dial control conn 23.98.107.224:10350: gocql: no response to connection startup within timeout
2023-06-07T05:36:56.759Z ERROR Connection validation failed. {“error”: “gocql: unable to create session: unable to connect to initial hosts: gocql: no response to connection startup within timeout”, “logging-call-at”:
“cqlclient.go:119”}
2023-06-07T05:36:56.759Z ERROR Unable to create keyspace. {“error”: “gocql: unable to create session: unable to connect to initial hosts: gocql: no response to connection startup within timeout”, “logging-call-at”:
“handler.go:104”}

Can you let us know what is the issue?

Hi,
I came across a spring boot demo for Temporal.

In this example, i am not seeing any worker. instead a @WorkflowImpl(taskQueues = “DemoTaskQueue”).
Does it mean that a separate worker is not required here? And how do we initiate this workflow? do we have another java application where we have a jar containing the workflow interface in the path?

Hi, When we are trying to connect to CosmosDB Cassandra, we are getting the following error.

I don’t think CosmosDB Cassandra is going to work. You can try, but the last time we checked it missed some important features of the native Cassandra.

Thanks for the update.