[英]Read ASB Scheduled Message ahead of time
是否可以使用ServiceBusClient
提前接收预定消息? 无论他们在什么时候排队,我都想立即阅读这些消息并立即处理它们。 有一种方法可以读取延迟的ReceiveDeferredMessageAsync
消息,但不能读取预定的消息。 有解决办法吗?
我知道ReceiveMessageAsync
可能需要最长等待时间,所以我可以让它继续运行,但在这种情况下,我需要尽可能快地处理消息。
var asbReceiver = new ServiceBusClient(namespaceConnectionString).CreateReceiver(queueName);
var messages = await asbReceiver.ReceiveMessageAsync();
通过在创建接收器时附加执行以下操作,似乎可以直接从死信队列中读取,但没有用于调度的等效子队列。
new ServiceBusClient(namespaceConnectionString).CreateReceiver(queueName, new ServiceBusReceiverOptions { SubQueue = SubQueue.DeadLetter });
我们使用的是 azure.messaging.servicebus nuget package 版本 7.1.2。
通过在创建接收器时附加执行以下操作,似乎可以直接从死信队列中读取,但没有用于调度的等效子队列。
预定消息不存储在单独的子队列中。 至少这不像死信消息和死信队列那样公开。
可以使用调度期间分配的序列号取消调度的消息。 当消息被安排时,它是在“安排并忘记”的上下文中完成的。 当预定的消息到达并且不再有效时,应该丢弃/忽略它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.