Azure 队列 - 重新出现的消息
Azure Queue - Reappearing messages
我有一个由队列消息触发的网络作业。如果作业变得太长,该消息将重新出现在队列中,并触发使用相同消息的 web 作业的新实例。这不是故意的。
如何设置消息在队列中隐藏后重新出现的时间跨度?
Azure 队列消息具有可见性超时值(以秒为单位),您可以在消息再次可见之前随时以编程方式设置该值。
您没有提到您使用什么语言编写代码,但从原始 REST API 的角度来看,您只需要执行 更新消息 操作(队列消息上的 PUT
)。来自文档:
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds>
通过 .net (c#):
var message = queue.GetMessage();
queue.UpdateMessage(message,
TimeSpan.FromSeconds(30),
MessageUpdateFields.Visibility);
有关 API 通话的详细信息,请参阅 here。
我有一个由队列消息触发的网络作业。如果作业变得太长,该消息将重新出现在队列中,并触发使用相同消息的 web 作业的新实例。这不是故意的。
如何设置消息在队列中隐藏后重新出现的时间跨度?
Azure 队列消息具有可见性超时值(以秒为单位),您可以在消息再次可见之前随时以编程方式设置该值。
您没有提到您使用什么语言编写代码,但从原始 REST API 的角度来看,您只需要执行 更新消息 操作(队列消息上的 PUT
)。来自文档:
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds>
通过 .net (c#):
var message = queue.GetMessage();
queue.UpdateMessage(message,
TimeSpan.FromSeconds(30),
MessageUpdateFields.Visibility);
有关 API 通话的详细信息,请参阅 here。