天天看点

【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因为调用函数名称错误而导致长时间无响应问题

问题描述

在使用Azure Durable Function函数,调用函数链模式来调用多个Activity Function。

函数链:https://docs.azure.cn/zh-cn/azure-functions/durable/durable-functions-overview?tabs=csharp

【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因为调用函数名称错误而导致长时间无响应问题

但是在一次本地的试验中,发现Activity Function 长时间处于 Running 状态,无任何返回或日志输出。 

【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因为调用函数名称错误而导致长时间无响应问题

问题解答

通过VS Code在本地执行Function 函数,可以直接点击 F5 调试 Python 代码。通过这样的方式,可以发现原来是 Activity Function 名称写错了。 由于 Function 并没有提供任何的错误消息,使得调试体验非常不好。

如图,在测试中,发现 call_activity函数的参数名错误。因为手误而导致了函数执行卡住,长时间无响应。

【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因为调用函数名称错误而导致长时间无响应问题

 通过本地调试,找到问题原因: 执行函数名称错误, 协调函数(Orchestration) 无法调用正确的执行函数,所以导致整个函数长时间无响应。

参考资料

什么是 Durable Functions?​​https://docs.azure.cn/zh-cn/azure-functions/durable/durable-functions-overview?tabs=csharp​​