MassTransit 临时队列堆积
MassTransit temporary queue pile up
(另见 )
我正在使用带有 AzureServiceBus 的 MassTransit 4.0 来配置如下总线:
Bus.Factory.CreateUsingAzureServiceBus(cfg =>
{
IServiceBusHost host = cfg.Host(
BusHostUri,
hostCfg =>
{
hostCfg.TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(
KeyName,
SharedAccessKey);
});
cfg.ReceiveEndpoint(host, QueueName, e =>
{
e.Consumer<ValueEnteredConsumer>();
});
});
当 运行 它创建:
- 队列匹配
QueueName
- 与来自消费者的消息类型匹配的主题
- 该主题下的订阅匹配
QueueName
并将消息转发到该队列
一个以以下形式命名的队列:
{machine}_{application}_bus_{26 random letters}
前三个看起来不错。但是对于最后一项,我认为是临时队列,每次重新启动都会触发一个新创建的队列。从 Service Bus Explorer 看来,队列的 AutoDeleteOnIdle 设置为 427 天。
我需要做什么才能allow/require在更合理的时间window(例如10天)内删除临时队列?并且,如果可能,让创建它的应用程序在关机期间也删除它。
感谢 Chris Patterson 的快速确认。最近似乎相关的变化:
(另见
我正在使用带有 AzureServiceBus 的 MassTransit 4.0 来配置如下总线:
Bus.Factory.CreateUsingAzureServiceBus(cfg =>
{
IServiceBusHost host = cfg.Host(
BusHostUri,
hostCfg =>
{
hostCfg.TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(
KeyName,
SharedAccessKey);
});
cfg.ReceiveEndpoint(host, QueueName, e =>
{
e.Consumer<ValueEnteredConsumer>();
});
});
当 运行 它创建:
- 队列匹配
QueueName
- 与来自消费者的消息类型匹配的主题
- 该主题下的订阅匹配
QueueName
并将消息转发到该队列 一个以以下形式命名的队列:
{machine}_{application}_bus_{26 random letters}
前三个看起来不错。但是对于最后一项,我认为是临时队列,每次重新启动都会触发一个新创建的队列。从 Service Bus Explorer 看来,队列的 AutoDeleteOnIdle 设置为 427 天。
我需要做什么才能allow/require在更合理的时间window(例如10天)内删除临时队列?并且,如果可能,让创建它的应用程序在关机期间也删除它。
感谢 Chris Patterson 的快速确认。最近似乎相关的变化: