Smart timeout defines automatically a timeout value for Job tasks to terminate runs when their durations exceed a threshold.
What is the purpose of smart timeout?
A task run can have different endings. Most of the time, the task ends successfully. However, task execution can fail because it fails during the execution, or is running much too long.
Instead of terminating the run manually, you can use smart timeout to automatically set a timeout value. It avoids spending more computation time that ends in failure. It allows to run other tasks on the processing engine for example.
How is the threshold calculated?
The threshold is computed based on the previous successful runs of the task. The threshold will be computed if a minimum number of 10 previous executions have run successfully before.
The threshold is safe with a low risk of terminating successful Jobs. After multiple tests, it is around 8 over 1 million.
Short or long gaps like missing runs do not affect the calculation. It can also handle an abrupt change like a jump in the Job duration, it means new normal runs with longer durations.
How does smart timeout work?
You enable smart timeout from the Engine step when adding or editing a task.
The feature will be activated when enough data is available which is 10 previous successful executions per task.
The threshold values are updated periodically using historical data to reflect changes in the Job execution duration.
What are the limitations of smart timeout?
- There will be no prediction if the number of successful executions are less than 10 in the full historical data.
- If executions have a complicated behavior, for example if the duration increases drastically and suddenly like a Job running for one minute suddenly runs for one day, the threshold will not be adapted correctly.
Before you begin
- You must have Execute permission on the workspace where the task is located to set task execution timeout.
About this task
- If you are editing your task after it has been created, go to its details page, then click the icon next to Trigger.
- Go to the Engine step.
In Task timeout, select Smart
- Click Continue then save and close.
You can also see all executions stopped by a timeout from the Terminated tab in the Operations page with the Timed out status.