让我们考虑一个设备,它连续地将其活动消息发送到一个天蓝色队列作为 Q1。在每条消息上,我有 2 个属性一个是 MessageContent,另一个是我们需要将该 MessageContent 推送到另一个队列作为 Q2 的时间. 我的问题是请帮助找出队列之间的差距(根据时间配置从 Q1 触发消息到 Q2 的机制)。
问问题
416 次
2 回答
2
这就是类ScheduledEnqueueTimeUtc
属性的BrokeredMessage
用途。像这样使用它:
var message = new BrokeredMessage(content)
{
ScheduledEnqueueTimeUtc = timeToSend
};
queueClient.Send(message);
因此,如果我理解正确,Q1 处理器应该读取内容并timeToSend
从 Q1 并将消息排入队列到 Q2,如上所示。
文档,注意备注:
消息排队时间并不意味着消息会同时发送。它将被排队,但实际发送时间取决于队列的工作负载及其状态。
于 2017-06-22T12:15:14.280 回答
0
对于 Core 3.1,ServiceBusSender 来自使用 Azure.Messaging.ServiceBus:
var serviceBusMessage = new ServiceBusMessage
{
ScheduledEnqueueTime = DateTime.UtcNow.AddMilliseconds(30000),
Body = new BinaryData(message)
};
await sender.SendMessageAsync(serviceBusMessage).ConfigureAwait(false);
您可以使用ScheduledEnqueueTime
延迟消息传递。
于 2021-02-21T07:25:49.523 回答