Detecting Workflows failures
Temporal can detect different kinds of Workflow Execution failures through the following timeouts:
Workflow Execution Timeout?
What is a Workflow Execution Timeout in Temporal?
A Workflow Execution Timeout is the maximum time that a Workflow Execution can be executing (have an Open status) including retries and any usage of Continue As New.
Workflow Execution Timeout period
The default value is ∞ (infinite). If this timeout is reached, the Workflow Execution changes to a Timed Out status. This timeout is different from the Workflow Run Timeout. This timeout is most commonly used for stopping the execution of a Temporal Cron Job after a certain amount of time has passed.
Workflow Run Timeout?
What is a Workflow Run Timeout in Temporal?
A Workflow Run Timeout is the maximum amount of time that a single Workflow Run is restricted to.
Workflow Run Timeout period
The default is set to the same value as the Workflow Execution Timeout. This timeout is most commonly used to limit the execution time of a single Temporal Cron Job Execution.
If the Workflow Run Timeout is reached, the Workflow Execution will be Timed Out.
Workflow Task Timeout?
What is a Workflow Task Timeout in Temporal?
A Workflow Task Timeout is the maximum amount of time allowed for a Worker to execute a Workflow Task after the Worker has pulled that Workflow Task from the Task Queue.
Workflow Task Timeout period
The default value is 10 seconds. This timeout is primarily available to recognize whether a Worker has gone down so that the Workflow Execution can be recovered on a different Worker. The main reason for increasing the default value is to accommodate a Workflow Execution that has an extensive Workflow Execution History, requiring more than 10 seconds for the Worker to load. It's worth mentioning that although you can extend the timeout up to the maximum value of 120 seconds, it's not recommended to move beyond the default value.