Можно ли установить время жизни для сообщений в очереди _error? Или даже пропустить этот механизм отправки сообщений в очередь ошибок, поскольку ошибка уже устранена?
Я использую потребителя и получателя сбоя для обработки ошибок. Мне больше не нужны сообщения в очереди ошибок.
Как установить время жизни для сообщений в очереди _error с помощью MassTransit?
Ответы (1)
Возможно, вы можете создать фильтр, чтобы отбросить ошибку, а затем настроить конвейер ошибок для ее использования.
Сначала создайте фильтр:
class DiscardExceptionFilter :
IFilter<ExceptionReceiveContext>
{
public async Task Send(ExceptionReceiveContext context, IPipe<ExceptionReceiveContext> next)
{
await context.NotifyFaulted(context.Exception).ConfigureAwait(false);
// not calling next.Send(), to end the pipe here.
}
public void Probe(ProbeContext context)
{
context.CreateScope("no-move-error");
}
}
После создания на конечной точке приема настройте конвейер ошибок для использования фильтра.
configurator.ConfigureError(x => x.UseFilter(new DiscardExceptionFilter()));
person
Chris Patterson
schedule
17.03.2020