显示已删除函数的 Azure 持久函数日志流

Azure durable function log stream showing deleted function

我已将对持久功能产品的更改部署到 Azure DevOps 中,部分工作是重命名 activity 功能。

然而,下面的警告出现在包含函数的名称的日志流中。

[Warning] Activity function 'PublishNotification' does not exist.. InstanceId: . Function: PublishNotification.

此函数向服务总线主题发布消息,现在代码中的任何地方都绝对没有对该函数名称的引用。

你知道这可能来自哪里吗?

从您的描述来看,您的函数名称似乎已经更改,orchestrator函数监听器和其他函数监听器被注销:

https://github.com/Azure/azure-functions-durable-extension/blob/f6f1dce716b68d8baaa99ed64a9db1306577c58d/src/WebJobs.Extensions.DurableTask/Listener/DurableTaskListener.cs#L44-L54

但是协调器函数仍然是运行,它找不到你以前的函数名:

https://github.com/Azure/azure-functions-durable-extension/blob/f6f1dce716b68d8baaa99ed64a9db1306577c58d/src/WebJobs.Extensions.DurableTask/DurableOrchestrationContext.cs#L385

如果重启函数应用,让一切重新开始,还能重现这个错误吗?

我进入了 Azure Web 作业存储队列并环顾四周。原来我们有一条旧消息(大约 4 天前)卡在其中一个队列中,当它被清除时警告消息也消失了。