Azure ServiceBus队列活动消息计数器坏了吗?

时间:2017-01-19 10:54:06

标签: c# azure azureservicebus

ServiceBus服务存在问题。我们有一个包含消息的队列,我们​​还有持续WebJob,它有OnMessage监听器用于新消息,并且工作正常,但是有一个奇怪的问题。活动消息计数器在队列中永远不会显示2789 Active Messages。新消息正确地收到了。我们试图通过Recieve方法接收消息,但结果是一样的。计数器似乎有问题。

队列配置:

  • 消息生存时间(默认) - 14天
  • 锁定持续时间 - 30秒
  • 重复检测历史记录 - 10分钟
  • 最大交货数 - 10
  • 最大尺寸 - 未设置
  • 队列状态 - 活动
  • 重新定位到死信 - 未启用
  • 当前尺寸 - 3447.3994140625 KB
  • 更新于 - 12.01.2017,11:56:40
  • 启用分区 - true

任何想法都会有所帮助。

  

解决:

这些消息处于Defer状态,我们使用QueueClient.Peek()来获取消息,然后

var m = QueueClient.Recieve(message.SequenceNumber);
m.Complete();

和消息已经消失了!

1 个答案:

答案 0 :(得分:0)

这些消息可能会延期。这意味着它们处于活动状态,但不会自动传递给OnMessage。您需要知道它们的序列号以特定方式处理它们,请参阅有关如何处理的文档。或者,您可以使用Service Bus Explorer工具直接查看消息,或者根据需要重新处理消息。