C# MassTransit/RabbitMq错误队列-如何删除消息?
我有一个队列{QueueName}。 我定义了一个使用者和错误消息使用者,如下所示:C# MassTransit/RabbitMq错误队列-如何删除消息?,c#,rabbitmq,masstransit,C#,Rabbitmq,Masstransit,我有一个队列{QueueName}。 我定义了一个使用者和错误消息使用者,如下所示: cfg.ReceiveEndpoint ( queueName: QueueName, e => {
cfg.ReceiveEndpoint
(
queueName: QueueName,
e =>
{
e.UseMessageRetry(r => r.Immediate(2));
e.AutoDelete = false;
e.Durable = true;
e.Consumer(() => container.Resolve<My_Consumer>());
e.Consumer(() => container.Resolve<My_Fault_Consumer>());
}
);
cfg.ReceiveEndpoint
(
queueName:queueName,
e=>
{
e、 UseMessageRetry(r=>r.Immediate(2));
e、 自动删除=假;
e、 持久=真实;
e、 消费者(()=>container.Resolve());
e、 消费者(()=>container.Resolve());
}
);
当消费者耗尽其处理消息的尝试次数时,出现故障的消息消费者会介入并通过记录错误来处理消息。
我注意到创建了一个额外的队列,名为{QueueName}\u error
My_Fault_使用者不确认错误消息的使用,队列将增长
如何确认这些消息?错误队列是有毒队列,或
故障
消息的使用者不使用此队列。故障
消息将作为任何其他消息发布。如果查看毒药队列的内容,您将不会在那里看到任何Fault
消息,因为它打算保留您的消费者未能消费的原始消息
这里的目的是,您可以查看这些消息,并最终决定将它们移回原始队列进行重新处理,或者仅评估这些消息的内容以进行故障排除
MassTransit对该队列不做任何操作,也不会从该队列中删除邮件。您可以从UI或使用管理API或您的代理自行完成此操作。
e.AutoDelete=true代码>可能?但我没有明确定义队列。。。