Microsoft.Azure.WebJobs.Host.FunctionTimeoutException /Timeout value of 00:30:00 was exceeded by function /Functions.TimerTrigger_UdeskContact async Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.TryHandleTimeoutAsync(Task invokeTask,CancellationToken shutdownToken,Boolean throwOnTimeout,CancellationToken timeoutToken,TimeSpan timeoutInterval,IFunctionInstance instance,Action onTimeout)

问题描述

在Function执行中遇见Timeout错误: Microsoft.Azure.WebJobs.Host.FunctionTimeoutException

/Timeout value of 00:30:00 was exceeded by function
/Functions.TimerTrigger_UdeskContact    
async Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.TryHandleTimeoutAsync(Task invokeTask,CancellationToken shutdownToken,Boolean throwOnTimeout,CancellationToken timeoutToken,TimeSpan timeoutInterval,IFunctionInstance instance,Action onTimeout)
D:\a\_work\1\s\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs

有什么办法可以缓解执行时间过长的问题吗?

 

问题解答

在Function的设计中,有一个参数可以设置Funciton的执行时间,参数名为 functionTimeout ,配置在Function的 host.json 文件中。



指示所有函数执行的超时持续时间。它遵循时间跨度字符串格式。

【Azure Function】在Function执行中遇见Timeout错误_Azure



所以除了可以修改functionTimeout的值之外,对于长时间执行的Function,更推荐使用持久函数(Durable Functions: https://docs.azure.cn/zh-cn/azure-functions/durable/durable-functions-types-features-overview

 

参考资料:

functionTimeout in host.jsonhttps://learn.microsoft.com/en-us/azure/azure-functions/functions-host-json#functiontimeout

 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!