The refresh agents feature terminates all sessions within the agent of an ABL application, thereby refreshing the multi-session agents so that changes to the application can be picked up by the agents.

When using this API, the ABL sessions that are running in the application complete before terminating. New sessions are started on the next request to the agent. The refresh agents API allows new sessions to use the updated persistent procedures, static objects, or online schema changes, and start running sessions against the new code.

The following video introduces the refresh agents feature in PAS for OpenEdge:

Because this feature terminates all ABL sessions, it may help reduce memory growth due to application leaks. This may or may not include returning memory to the operating system, but it should at least free up memory currently used in the agents to be reused by new ABL sessions.
Warning: Do not use the refresh task while the PAS instance is serving active requests or has stuck or busy sessions. refresh unconditionally terminates all ABL sessions in the MS Agent immediately—any in-progress requests could be cut without a graceful drain, which can result in data loss, transaction rollbacks, or corrupted client state. This task is intended for code deployment during a scheduled quiet period when no user activity is expected. Before using refresh, run the trim tasks above to gracefully terminate any active or lingering sessions.

The refresh agents API provides the same operations as the Update PROPATH in a production instance with zero downtime feature, but does not require a change to the PROPATH or for the runtime updates to be enabled.

The API is accessible through REST, an OEJMX query, and the TCMAN command-line utility. See the following topics for usage information: