天天看點

【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​​