gpt4 book ai didi

azure - 移至 Poison Queue 的队列消息仍显示为队列计数,但保持隐藏状态

转载 作者:行者123 更新时间:2023-12-02 09:20:02 27 4
gpt4 key购买 nike

我正在测试我正在构建的 Webjob 的 Poison 消息处理。

一切似乎都按预期进行,除了一件奇怪的事情:

当一条消息被移动到“-poison”队列时,它的幽灵似乎仍然隐藏在主作业队列中(不可见)。这意味着,如果我将 6 条有害消息移至“-poison”队列,则存储资源管理器会显示“显示队列中的 6 条消息中的 0 条”。我在存储资源管理器中看不到 6 条隐藏消息。

我尝试删除作业队列并重新创建它,但在运行测试后奇怪的问题仍然发生。存储资源管理器显示“显示队列中的 6 条消息中的 0 条”。

幕后发生了什么?

更新1

我做了一些调查,我认为 WebJob SDK 不会删除有害消息。

我浏览了WebJob SDK源代码,我认为这行代码由于某种原因没有被执行:

https://github.com/Azure/azure-webjobs-sdk/blob/dev/src/Microsoft.Azure.WebJobs.Host/Queues/QueueProcessor.cs#L119

这是我的函数,可以帮助重现问题:

public class Functions
{
public static void ProcessQueueMessage([QueueTrigger("%QueueName%")] string message, TextWriter log)
{
if (message.Contains("Break"))
{
throw new Exception($"Error while processing message {message}");
}

log.WriteLine($"Processed message {message}");
}

}

更新2

这是我正在使用的 WebJob SDK:

enter image description here

最佳答案

据我所知,azure storage SDK 8.+ 与 Azure webjobs SDK2.0 ( related issue ) 不能很好地配合。

如果您使用存储 SDK 8.+,有害消息将保持未删除但不可见的状态。

解决方法是使用低 azure 存储 SDK 7.2.1。

效果会很好。

这个问题将在未来的SDK版本中得到解决。

关于azure - 移至 Poison Queue 的队列消息仍显示为队列计数,但保持隐藏状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43333150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com