Azure Functions: Timeout value of 00:05:00 exceeded by function

event 2021-09-17 visibility 5,618 comment 0 insights
more_vert
insights Stats

When running Azure functions, I encountered the following error:

2021-09-17T08:13:47.525 [Error] Timeout value of 00:05:00 exceeded by function 'Functions.***Func' (Id: '32daf701-18de-467c-b36e-b0b7********'). Initiating cancellation.

Root cause

By default, Azure function will timeout in 5 minutes. The maximum for consumption plan is 10 minutes. 

When a function timeouts, there are a few activities we need to do:

  • Look into the logs to identify what caused the time-out. You can enable application insights for your Azure Functions app if you have not done that.
  • Configure retry policy when a function fails.
  • Split or refactor your function code to smaller functions. For instance, instead of sending 100 emails in one function, send 10 emails per function execution, etc. 

Configure retry policy

Retry policy can be configured through host.json for all functions in the application.

{
  "version": "2.0",
  "retry": {
    "strategy": "fixedDelay",
    "maxRetryCount": 10,
    "delayInterval": "00:00:10"
  },
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  }
}

The above configuration will retry 10 times with 10 seconds interval. 

If you want to configure retry policy at function level, you can use properties if you are using C#:

[FixedDelayRetry(5, "00:00:10")]

For more details, refer to official documentation: Azure Functions error handling and retries.

Configure timeout

You can also change the default timeout for function via host.json:

 "functionTimeout": "00:10:00"

The above configuration increases timeout from 5 minutes to 10 minutes for Azure Functions with hosting model as consumption plan.

More from Kontext
comment Comments
No comments yet.

Please log in or register to comment.

account_circle Log in person_add Register

Log in with external accounts