Two new features were introduced in OpenEdge 10.2B in order to achieve this goal, either at the procedure block level or at the Application Server level.
At the procedure block level:
The first way to time restrict procedure calls involves the use of the STOP-AFTER phrase. This phrase specifies a time-out value for a DO, FOR, or REPEAT block. The integer expression that specifies the number of seconds each iteration of a block has until a time-out occurs. If a time-out occurs, the AVM raises the STOP condition.
At the Application Server level:
Another way to limit the execution time of procedure calls is to set the property called srvrExecutionTimeLimit in the global [UBroker] or specific [UBroker.<AppServer name>] section of the ubroker.properties file. This is a non-negative integer property that specifies the maximum time in seconds that a remote procedure may execute on the given AppServer. This timeout value applies to all remote procedures that execute on the AppServer. The default value is zero, which indicates that no time limit is in effect.
NOTE: AppServer srvrExecutionTimeLimit property only controls the execution time of a procedure on the remote AppServer. The data transfer between the client and AppServer endpoints do not account for the procedure execution time. |