我使用servieBusTrigger
配置了Azure功能,以便从Azure Serivce总线上的主题订阅接收消息。该功能已运行好几天,但今天早上我注意到订阅上有很多消息。事实证明,我的函数不再接收来自队列的消息。
我检查了队列以确保消息不在死信队列中。他们不是。我已经在我的函数中登录,并且没有找到任何日志语句(由于永远不会处理消息,因此我没想到)。我检查了Kudu上的日志文件(`LogFiles \ Application \ Functions \ Function \ MyFunction)。它是空的,我确实通过Portal启用了应用程序日志记录。
这是我的function.json
:
{
"disabled": false,
"bindings": [
{
"name": "mySbMsg",
"type": "serviceBusTrigger",
"direction": "in",
"topicName": "tasks-v1",
"subscriptionName": "errormail-v1",
"connection": "connection",
"accessRights": "Manage"
}
]
}
正如我之前所写的那样,函数确实工作了好几天。我正在制定消费计划,为什么总是不应该成为一个问题。
有关如何调试这个的想法吗?
更新:为了将来的参考,我们更新了修复问题的编译函数(这是错误的,因为错误在Roslyn中)。
答案 0 :(得分:1)
看来你的函数遇到了这个bug的roslyn编译,它通过重启来解决:https://github.com/Azure/azure-webjobs-sdk-script/issues/999
我在您的功能应用日志中看到了这个错误:
2017-03-28 23:14:11.6306121无法在PromiseNotToEnqueue之后排队数据。
这是一个零星的问题,但如果您需要解决方法,可以使用precompiled functions。