Как установить время жизни сообщений в очереди _error с помощью MassTransit? - PullRequest
0 голосов
/ 17 марта 2020

Можно ли установить время жизни сообщений в очереди _error? Или даже пропустить этот механизм отправки сообщений в очередь ошибок, поскольку ошибка уже устранена?
Я использую потребителя и потребителя ошибки для обработки ошибок. Мне больше не нужны сообщения в очереди ошибок.

1 Ответ

0 голосов
/ 17 марта 2020

Возможно, вы можете создать фильтр для сброса ошибки, а затем настроить конвейер ошибок для его использования.

Сначала создайте фильтр:

    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()));
...