Maximum Runtimes (MRT) Lower Than 1 Are Not Detected
Problem
Maximum Runtime (MRT) that set to a value lower than one minute are not always detected.
Explanation
This is because the Automation Engine is not a real time engine. Basically, all time-based actions are triggered by a so-called Timer transaction that is executed every 20 seconds.
For example, a UNIX job executing the OS command "sleep 30" has a runtime of approximately 30 seconds. You set the Maximum Runtime to 15 seconds; if this is exceeded, the job should abort.
However, the job will not always be canceled. Imagine the following to scenarios:
-
The first Timer transaction takes place 5 seconds after the job starts. The MRT is OK.
The next Timer transaction takes 25 seconds after the job starts. The job is still active; it is canceled because the MRT has been violated.
-
The first Timer transaction takes place 12 seconds after the job starts. The MRT is OK.
The next Timer transaction takes place 32 seconds after the job starts. The job has finished 2 seconds before, so it cannot be canceled although the MRT has been violated.
In addition, the timing might also be influenced by the system load
Solution
Set Maximum Runtime values that are higher than 1 minute.