带有 serviceBusTrigger 的 Azure Function 停止接收消息
Azure Function with serviceBusTrigger stops receiving messages
我已将 Azure Function 配置为 servieBusTrigger
以从 Azure 服务总线上的主题订阅接收消息。该功能已经 运行 好几天了,但是今天早上我注意到订阅上有很多消息。事实证明,我的函数不再从队列中接收消息。
我检查了队列以确保消息不在死信队列中。他们不是。我在我的函数中进行了登录,但没有找到日志语句(这是我没有预料到的,因为消息从未被处理过)。我检查了 Kudu 上的日志文件 (`LogFiles\Application\Functions\Function\MyFunction)。它是空的,我确实通过门户启用了应用程序日志记录。
这是我的 function.json
:
{
"disabled": false,
"bindings": [
{
"name": "mySbMsg",
"type": "serviceBusTrigger",
"direction": "in",
"topicName": "tasks-v1",
"subscriptionName": "errormail-v1",
"connection": "connection",
"accessRights": "Manage"
}
]
}
正如我之前所写,该函数确实可以正常工作几天。我在运行消费计划中,为什么一直开应该不是问题。
有什么调试方法吗?
更新:为了将来参考,我们更新了修复问题的编译函数(这是有道理的,因为错误在 Roslyn 中)。
你的函数 运行 出现在 roslyn 编译的这个错误中,通过重启解决了这个错误:https://github.com/Azure/azure-webjobs-sdk-script/issues/999
我在你的函数应用程序日志中看到了这个错误:
2017-03-28 23:14:11.6306121 Cannot enqueue data after PromiseNotToEnqueue.
这是一个偶发问题,但如果您需要解决方法,可以使用 precompiled functions。
我已将 Azure Function 配置为 servieBusTrigger
以从 Azure 服务总线上的主题订阅接收消息。该功能已经 运行 好几天了,但是今天早上我注意到订阅上有很多消息。事实证明,我的函数不再从队列中接收消息。
我检查了队列以确保消息不在死信队列中。他们不是。我在我的函数中进行了登录,但没有找到日志语句(这是我没有预料到的,因为消息从未被处理过)。我检查了 Kudu 上的日志文件 (`LogFiles\Application\Functions\Function\MyFunction)。它是空的,我确实通过门户启用了应用程序日志记录。
这是我的 function.json
:
{
"disabled": false,
"bindings": [
{
"name": "mySbMsg",
"type": "serviceBusTrigger",
"direction": "in",
"topicName": "tasks-v1",
"subscriptionName": "errormail-v1",
"connection": "connection",
"accessRights": "Manage"
}
]
}
正如我之前所写,该函数确实可以正常工作几天。我在运行消费计划中,为什么一直开应该不是问题。
有什么调试方法吗?
更新:为了将来参考,我们更新了修复问题的编译函数(这是有道理的,因为错误在 Roslyn 中)。
你的函数 运行 出现在 roslyn 编译的这个错误中,通过重启解决了这个错误:https://github.com/Azure/azure-webjobs-sdk-script/issues/999
我在你的函数应用程序日志中看到了这个错误:
2017-03-28 23:14:11.6306121 Cannot enqueue data after PromiseNotToEnqueue.
这是一个偶发问题,但如果您需要解决方法,可以使用 precompiled functions。