Как я могу полностью и полностью предотвратить повторные попытки с использованием 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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