Overview
Intermittent failures and delays are events that might happen on a cloud environment, to overcome the occurrence of these events and minimize disruption of your logic app runs, a powerful built-in feature is available “retry policy”, but there are special cases where this retry policy won’t come into action and a custom retry strategy need to be part of your workflow to overcome these kinds of events. Such events are:
In this article, we will show how to implement this custom retry strategy as part of your workflow.
Steps
Sample Scenario
Suppose you are using the HTTP action to call a REST API, in case of success the call returns an HTTP status code 200, the call intermittently fails and does not return the HTTP status codes identified by the retry policy, so the retry policy is not activated and the action fails. Here comes the custom retry strategy into action.
Implementation
Use the following steps:
1. Add the HTTP action to call the targeted REST API.
2. Add a Control – Condition action to check if REST API call failed by checking the HTTP status code returned by the previous action if it is not equal to 200.
3. Inside the True branch, add a Control – Until action.
4. Inside the Control – Until action:
a. Add Schedule – Delay action and set the count to 1 and Unit to Minute.
b. Add another HTTP action to call the same targeted REST API again.
c. Check if the HTTP status code returned from previous step is equal to 200 to exit the loop.
d. Set the until limits as required, count and timeout.
The final workflow will look as follows:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.