Как я могу полностью и полностью предотвратить повторные попытки с использованием MassTransit и RabbitMQ?C#

Место общения программистов C#
Anonymous
Как я могу полностью и полностью предотвратить повторные попытки с использованием MassTransit и RabbitMQ?

Сообщение Anonymous »

У меня есть микросервис с использованием MassTransit для обработки сообщений из очереди RabbitMQ. Однако у меня возникает проблема, когда при ошибке MassTransit повторно обрабатывает сообщение, и/или сообщение остается в очереди.

Код: Выделить всё

/* inside the configuration method */

services.AddMassTransit(scbc =>
{
/* ... */

scbc.UsingRabbitMq((context, rmbfc) =>
{
/* ... */

rmbfc.UseMessageRetry(r => {
r.Immediate(0);
r.Handle();
r.None();
});
rmbfc.UseDelayedRedelivery( r => {
r.Immediate(0);
r.Handle();
r.None();
});
rmbfc.UseRetry(r => {
r.Immediate(0);
r.Handle();
r.None();
});
rmbfc.ReceiveEndpoint(r => {
r.DiscardFaultedMessages();
r.DiscardSkippedMessages();
});
});
});

Как вы можете видеть, я активирую практически каждую настройку, которая, кажется, будет предотвратить повторные извлечения, (документация абсолютно ужасна,), и все же мой микросервис сохраняет более мереинику Обработка () и почти все остальные настройки, которые кажется актуальным.
Как я могу это сделать? Это кажется достаточно простым: я не могу быть первым человеком в мире, ищет политику повторной попытки «не повторно ничего».>

Подробнее здесь: https://stackoverflow.com/questions/797 ... d-rabbitmq

Вернуться в «C#»