1

The logic app documentation here indicates that logic apps support retry policies on http actions using the following "input"

"retryPolicy" : {
      "type": "<type-of-retry-policy>",
      "interval": <retry-interval>,
      "count": <number-of-retry-attempts>
    }

The documentation states:

The retry interval is specified in the ISO 8601 format. Its default value is 20 seconds, which is also the minimum value. The maximum value is 1 hour. The default retry count is 4, 4 is also the maximum retry count. If the retry policy definition is not specified, a fixed strategy is used with default retry count and interval values. To disable the retry policy, set its type to None.

It doesn't clearly indicate if None and Fixed are the only retry policy types.

I'd like to know if there is an ExponentialBackoff type (or something like it). I'd also like to know if it supports defining a random delta to help avoid thrashing retries.

Thanks!

Paul
  • 1,590
  • 5
  • 20
  • 41
  • The only types retry policy types supported today are None and Fixed. If you would like to see more retry policy types supported (such as exponential/randomized backoff), please feel free to submit the requirement at https://feedback.azure.com/forums/287593-logic-apps – Szymon Wylezol Jun 01 '16 at 21:38
  • Thanks for the info Szymon. If you make this an answer, I'll accept it. – Paul Jun 03 '16 at 21:02
  • I have a few real use cases for Exponential back off. Basically due to the limitation of retry policies as they exist currently in logic apps, (no longer than 1 hour between retries and no more than 4 retries) this limits an action to only run for at most 4 hours. I know that there is an exception with webhook actions, but those are currently only helpful when the system that calls the logic app back is publicly accessible. It doesn't support in accessible on prem services that will call back to the logic app. – Paul Jun 03 '16 at 21:02
  • Due to the limitation of webhooks not working well for inaccessible onprem callback svcs... I've gone down the path of dyn creating "callback queue"s that the svc can put a msg on when complete. I'm creating a large number of callback queues on each run of the logic app. The Azure MGMT API rate limits the # of calls I can make. I need to be able to retry, but as retry exists today, I'm just thrashing the Azure mgmt API every X time frame. I want to back off exponentially AND provide a +/- delta from those points in order to spread the calls out. – Paul Jun 03 '16 at 21:11
  • I'll submit this feedback to the forum you suggested. I'll need to remove votes from other ideas to submit this ;). Thanks again! – Paul Jun 03 '16 at 21:12
  • Yes, I agree that this is limiting. There are some workarounds, for example you could use a nested logic app to schedule the message, and use the 'wait' action to delay execution. Still, randomly generating the delay interval would be problematic, but you could write a simple random number generator with Azure Function, and integrate it with your logic app. It is a pretty heavy handed workaround for what you are trying to achieve though. – Szymon Wylezol Jun 08 '16 at 20:29

2 Answers2

1

Exponential retry has been added now - https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-exception-handling#retry-policies

Kruti Joshi
  • 384
  • 3
  • 16
0

The only types retry policy types supported today are None and Fixed. If you would like to see more retry policy types supported (such as exponential/randomized backoff), please feel free to submit the requirement at feedback.azure.com/forums/287593-logic-apps

Szymon Wylezol
  • 1,446
  • 9
  • 10