There are different ways to trigger a retry. A retry can be triggered on a timeout as well as on a certain response received from a third party.
Retry on Timeout
Step 1: Set the timeout value
On the outbound request as shown below, the timeout value needs to be set in milliseconds.
Step 2: Set the Handler rules
On the Outbound Response a Handler can be added to determine the retry rules. When the timeout is triggered, this Handler will facilitate the retry:
- The name of the retry Handler.
- Select the ‘none’ option in the Response Handler Control Panel.
- Select the ‘Retry on timeout’ Action in the dropdown.
- Enter the Retry Count: The number of times the retry will attempt to send the transaction
- Enter the Retry Delay: Each retry will be sent with a delay of x milliseconds.
Step 3: Response after retry attempts
During the retry process, the GLU.Engine will either receive a response from the third party, or it will complete the retry attempts and then send back a timeout response. The timeout response that is sent back will be as per the configuration in the response control panel. The Timeout Response Code and Timeout Response Message are configured as below.
Retry on a specific response parameter value
Step 1: Set the handler rules
An outbound response handler can be used to determine the retry rules for a transaction. When a particular condition is met, this handler will facilitate the retry.
Once the retry handler is processed, the rest of the handlers in the orchestration will be processed (i.e. Retry handlers are first to be processed.)
Note: the condition’s value can be one value or multi values separated by a comma e.g. ValueOne,ValueTwo,ValueThree….. etc
Route to a new flow code on Timeout
One is able to have two orchestrations setup for timeout such that you first ‘Retry’ upon TIMEOUT and thereafter you can ‘Route to’ upon TIMEOUT. To route to a different Flow code upon a timeout, configure the Handler as outlined below.
Step 1: Set the timeout value
On the Outbound Request as below, the timeout value needs to be set in milliseconds.
Step 2: Set the handler rules
- The name of the retry handler
- Select the ‘none’ option in the response handler control panel
- Select the “Route to on timeout” Action in the dropdown.
- Flow Code: Select the flow code of the transaction that you want to route to when a timeout is triggered from within that transaction.
Retry delivery counter variable
The GLU_REDELIVERY_COUNTER is a variable that increments with each retry attempt sent by GLU. It provides a count of the number of iterations that the retry process completes. This needs to be set up in the derived parameter, see example below: