2
votes

I have an event grid which publishes a lot of events, and a logic app which needs to consume some of them. These events aren't guaranteed to be in order, and events which require another event to be processed first, might end up in the logic app prematurely, causing them to fail.
From the documentation, I can see that event grid supports a retry policy, with an increasing time interval. This would solve my problem.
However, it seems like the logic app in question, always acknowledges events from the event grid, even though the process is stopped early with the Terminate action in the failure state and with an error code.
From the logic app overview, the runs are shown as failed. But the event grid never attempts a retry, and seems to consider the events successful. What can I do to make the event grid retry failed logic app runs?

2

2 Answers

1
votes

It seems that once the Azure logic app is triggered, the event in the Azure event grid is considered to be processed.

I think you can configure retry policy at the step where your Azure logic app failed, please refer to Retry policies.

enter image description here

Take the example of Httpaction:

You can click ··· in the upper right corner of the Http action, then click Settings, and select the type you want under Retry Policy

enter image description here

0
votes

Event Grid will retry depending on how you terminate your Logic App. If you terminate using http response action (status code 500) then event grid will attempt retries.

Now, depending on what is going on in your Logic app, handle the failures in a way that it terminates on http response action with status code 500.