When i am trying to restart the worker my existing Workflows are not getting triggered.Is there any way i the workflows gets triggered after the worker restart?
Note:My workflows are long running(around 24 hrs).
What do you mean by
my existing Workflows are not getting triggered.
?
If workflow is waiting it doesn’t need to be loaded into the worker until the timer fires.
Existing workflows meaning the one which stops by restarting the pod.
Is there any way i can start the workflow immediately after my restart without the StartToCloseTimeout or HeartbeatTimeout times out ?
Worker restart doesn’t affect workflow execution. So you don’t need to do anything to handle this.
If you believe that it is not the case please provide more information about the failures you are seeing.
Let me give more info:
i have a workflow execution that runs for long period (around 24 hrs) StartToCloseTimeout:1day.
When i start the workflow the workflow execution is happening fine and if there is a crash or restart in worker pod the workflow execution is getting stopped, the worker pod is unable to start the workflow until the StartToCloseTimeout is completed.
I am asking if there is a way that worker can start the workflow as soon as it gets up again?
Workflow doesn’t have StartToCloseTimeout
. It has WorkflowRunTimeout
and WorkflowExecutionTimeout
.
StartToCloseTimeout
applies to activities. I assume that you schedule an activity with 24-hour timeout and kill the activity worker. Temporal doesn’t track worker health. It relies only on timeouts to retry failed activities. You have to lower the activity timeout if its single invocation is not expected to run 24 hours. If activity is indeed long running it should heartbeat which will allow detecting worker failure after a much shorter heartbeat timeout.
Nice that’s what i am looking for.Can you tell me how to implement the heartbeat ?