Как добавить фильтрацию исключений в автоматический выключатель MassTransit? - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь добавить фильтрацию исключений в автоматический выключатель MassTransit. Я хотел бы использовать CircuitBreaker только для исключений TimeoutException. Возможно ли это?

Доступна фильтрация исключений для повторной попытки / повторной доставки:

endpoint.UseRetry(config =>
{
    config.Handle<TimeoutException>();
    config.Interval(10, TimeSpan.FromSeconds(5));
});

1 Ответ

0 голосов
/ 07 февраля 2020

Да, в приведенном выше примере сообщение будет повторяться до десяти раз, ожидая пять секунд между попытками, но только если выброшено исключение TimeoutException.

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

Вы можете настроить несколько фильтров повторных попыток, каждый со своими политиками и фильтрами.

Подробная информация о фильтрах приведена в документации .

Кроме того, убедитесь, что конфигурация повторения предшествует любой конфигурации потребителя. Трубопроводы строятся по порядку, поэтому порядок имеет значение.

...