@@ -4942,28 +4942,28 @@ Let's take a look all possible timeout definitions:
4942
4942
4943
4943
# ### Workflow Timeout Definition
4944
4944
4945
- Workflow timeouts are defined with the top-level timeouts property. It can have two types, `string` and `object`.
4945
+ Workflow timeouts are defined with the top-level ` timeouts` property. It can have two types, `string` and `object`.
4946
4946
If `string` type it defines an URI that points to a Json or Yaml file containing the workflow timeout definitions.
4947
4947
If `object` type, it is used to define the timeout definitions in-line and has the following properties :
4948
4948
4949
4949
| Parameter | Description | Type | Required |
4950
4950
| --- | --- | --- | --- |
4951
4951
| workflowExecTimeout | Workflow execution timeout (ISO 8601 duration format) | string or object | no |
4952
- | stateExecTimeout | Default workflow state execution timeout (ISO 8601 duration format) | string | no |
4952
+ | stateExecTimeout | Default workflow state execution timeout (ISO 8601 duration format) | string or object | no |
4953
4953
| actionExecTimeouts | Default single actions definition execution timeout (ISO 8601 duration format) | string | no |
4954
4954
| branchExecTimeout | Default single branch execution timeout (ISO 8601 duration format) | string | no |
4955
4955
| eventTimeout | Default timeout for consuming defined events (ISO 8601 duration format) | string | no |
4956
4956
4957
- The `eventTimeout` property defines the maximum amount of time to wait to consume defined events. If not specified it should be
4957
+ The `eventTimeout` property defines the maximum amount of time to wait to consume defined events. If not specified it should default to
4958
4958
" unlimited" .
4959
4959
4960
- The `branchExecTimeout` property defines the maximum execution time for a single branch. If not specified it should be
4960
+ The `branchExecTimeout` property defines the maximum execution time for a single branch. If not specified it should default to
4961
4961
" unlimited" .
4962
4962
4963
- The `actionExecTimeout` property defines the maximum execution time for a single actions definition. If not specified it should be
4963
+ The `actionExecTimeout` property defines the maximum execution time for a single actions definition. If not specified it should default to
4964
4964
" unlimited" . Note that an action definition can include multiple actions.
4965
4965
4966
- The `stateExecTimeout` property defines the maximum execution time for a single state. If not specified it should be
4966
+ The `stateExecTimeout` property defines the maximum execution time for a single workflow state. If not specified it should default to
4967
4967
" unlimited" .
4968
4968
4969
4969
The `workflowExecTimeout` property defines the workflow execution timeout.
@@ -5034,13 +5034,35 @@ not obeyed in the workflow definition.
5034
5034
5035
5035
# ### States Timeout Definition
5036
5036
5037
- All workflow states can define the `timeout ` property and can define different timeout
5037
+ All workflow states can define the `timeouts ` property and can define different timeout
5038
5038
settings depending on their state type.
5039
5039
Please reference each [workflow state definitions](#Workflow-States) for more information on which
5040
5040
timeout settings are available for each state type.
5041
5041
5042
5042
Workflow states timeouts cannot define the `workflowExecTimeout` property.
5043
5043
5044
+ All workflow states can define the `stateExecTimeout` property. This property can have two types, namely string
5045
+ and object.
5046
+ If defined as string type, it defines the total state execution timeout, including any [retries](#Retry-Definition)
5047
+ as defined in the states retry policy.
5048
+ If defined as object type it has the following properties :
5049
+
5050
+ | Parameter | Description | Type | Required |
5051
+ | --- | --- | --- | --- |
5052
+ | single | Single state execution timeout, not including retries (ISO 8601 duration format) | string | no |
5053
+ | total | Total state execution timeout, including retries (ISO 8601 duration format) | string | yes |
5054
+
5055
+ The `single` property defines a single state execution timeout. This property does not take in account retries.
5056
+ Each time the state is executed, whether when it is executes as part of standard control flow logic, or as part of a retry,
5057
+ its total execution timeouts is the value of the `single` property.
5058
+ To show an example, let's say that we set the `single`
5059
+ property to "PT10S", meaning 10 seconds. A workflow state "X" which defines this timeout when first executed has the max execution timeout
5060
+ set to 10 seconds. If the state execution is then retried, each time it is retried, the individual retry max execution timeout is again 10 seconds.
5061
+
5062
+ The `total` property on the other hand defines a state execution timeout taking in account retries.
5063
+ This means when this state is executed, its execution timeout is the value of the `total` property no matter how many retries
5064
+ have to be performed. If a state execution includes zero or one hundred retries, the total execution timeout is set by this property.
5065
+
5044
5066
# ### Branch Timeout Definition
5045
5067
5046
5068
[Parallel states](#Parallel-State) can define the `branchExecTimeout` property. If defined on the state
0 commit comments