FunctionMonkey
FunctionMonkey copied to clipboard
Add backoff retry in queue based functions
The Azure Functions Service Bus and Storage Queue triggers have no sense of back off - so if you have a service bus message who's handler is failing (perhaps because a call to an external resource is failing) it gets pulled back through almost immediately - you can effectively end up "hammering on the door" of the external resource until the max retry count is reached.
A technique I've used to deal with this is to post a new message onto the service bus queue but with the enqueue visibility set to n seconds time and then allow the original message to be removed.
I'm considering codifying this in Function Monkey through an option on these trigger types.
Feedback welcome.