Masstransit SQS AutoDelete不适用于总线控制队列



总线配置如下:

services.AddMassTransit(x =>
{
x.UsingAmazonSqs((context, cfg) =>
{
cfg.Durable = true;
cfg.AutoDelete = true;
cfg.Host("us-east-2", h =>
{
});
});
});

我使用请求/响应以及发送/接收。每次我的程序启动时;总线";中的名称被创建,并且即使在程序退出后仍保持在那里。这是故意的吗?

Amazon SQS没有临时队列的概念。因此,为了删除总线队列,必须停止总线。通常,这是由MassTransit托管服务在进程退出时完成的(SIGTERM,不管怎样(。但是,如果总线没有停止,队列将保留,必须手动清理。

另一种选择是,假设您有一个服务实例(总线端点队列无法共享,或者请求响应可能被错误的实例获取(,强制为总线端点使用相同的队列名称:

cfg.OverrideDefaultBusEndpointQueueName("some-name-here");

最新更新