MassTransit 中的预定消息

问题描述 投票:0回答:1

我使用masstransit 8 + amazon sqs/sns,该应用程序在Windows Docker容器中运行。

我发送预定消息,延迟可能长达几个小时,代码如下:

public Task Consume(ConsumeContext<RequestReceivedEvent> context)
{
    var uri = context.ReceiveContext.InputAddress;

    var scheduledTime = DateTime.UtcNow.AddHours(12);

    return context.ScheduleSend(uri, scheduledTime, new DelayedMessage());
}

但是我对预定发送有一些疑问:

  1. 按计划发送消息的最大延迟间隔是多少?
  2. 延迟存储在哪里 - 公共交通的内存中还是消息/队列本身?
  3. 如果容器关闭并在一段时间后再次启动 - 公共交通是否仍会“记住”之前创建的消息预定时间?

提前非常感谢!

c# amazon-sqs scheduling masstransit delayed-execution
1个回答
0
投票
  1. 对于 SQS,最长延迟为 12 小时。
  2. 消息存储在SQS中
  3. SQS 存储消息,一旦延迟过去,SQS 将在服务(容器)备份并运行时传递消息。
© www.soinside.com 2019 - 2024. All rights reserved.