The
Automation Engine is not a real time engine. All time based actions are triggered
by a so called “Timer” transaction. This transaction is executed every 20 seconds.
(In realty it is a little more complex, however knowing this is sufficient to understand
the behavior explained below.)
Example:
A UNIX job executing
the os command “sleep 30” will have a runtime of approximately 30 seconds:
https://us.v-cdn.net/5019921/uploads/editor/wg/atmrp5c40dra.png" width="664">
Using
maximum runtime (MRT) of 15 seconds, else cancel, should abort the job:
https://us.v-cdn.net/5019921/uploads/editor/0w/6q1431sz8i1x.png" width="715">
However it
may happen, that the job is not canceled:
Let’s think
about 2 scenarios:
- First
Timer take place 5 seconds after job start – MRT still ok.
Next Timer will be 25 seconds (= 5 + 20) after jobs start. Job is still active
and will be canceled, because MRT is violated.
- First
Timer take place 12 seconds after job start – MRT still ok.
Next Timer will be 32 seconds (= 12 + 20) after jobs start. Job has finished in the
meantime (2 seconds before), so it cannot be canceled, even MRT is violated.
Note:In addition
the timing might also be influenced by the current load of the system.
Knowing
this it is understandable, that maximum runtime setting below 1 minute do not
make sense.