我有一个使用队列触发器的Azure函数,方法看起来像这样
[FunctionName("ProcessNotifications")]
public static async Task ExecuteAsync(
[QueueTrigger("sharepointnotifications", Connection = "QueueConnectionString")] CloudQueueMessage queueMessage,
ILogger logger,
ExecutionContext context)
{
logger.LogInformation("Message received..");
var azureFuncContext = InitializationService.Initialize(context.FunctionAppDirectory, logger);
await ExecuteInternalAsync(queueMessage, logger, azureFuncContext);
}
我正在使用一个充当队列的Azure存储队列服务。真正有趣的是:在大约80%的时间里,当收到新消息时,它将被删除,但不会调用Azure函数。我还删除了除LogInformation之外的所有代码,以确保它不是内部问题,但即使那样,它也不起作用。
谷歌搜索这个问题,我发现了这个线程:https://github.com/Azure/azure-functions-host/issues/3493
但是此错误似乎有所不同,因为在这种情况下,消息保留在队列中,但是在我的情况下,消息已删除,但是什么也没发生。
为确保问题与消息无关,我已经停止了Azure功能,并且按预期将消息放入队列中。
不幸的是,我真的无法获得更多有关该问题的见解,因为没有引发任何警告或类似警告。 GitHub问题仍然很活跃,因此我倾向于相信有问题,但是拥有不可靠的队列触发器将是一个大问题,我敢肯定现在会解决此问题。
是否有可能获得有关此的更多信息?