Пересылка мертвой буквы служебной шины Azure - PullRequest
0 голосов
/ 31 мая 2018

У меня настроена очередь в служебной шине Azure с сообщением TTL 5 секунд (это слишком мало? Я заметил, что оно будет оставаться в активном состоянии гораздо дольше 5 секунд).

После этогоистекает, я хотел бы, чтобы это было перенаправлено в другую очередь для обработки (очередь ожидания).Я установил для свойства ForwardDeadLetteredMessagesTo имя очереди тайм-аута, но когда срок действия сообщения истекает в исходной очереди, он просто переходит в очередь мертвых писем исходных очередей вместо того, чтобы идти в очередь тайм-аута.

Не понимаю, какэто должно работать?

Мой пример использования: у меня есть потребители, которые прослушивают основную очередь только в определенное время дня.Если в основной очереди ничего не прослушивается, я бы хотел, чтобы срок его действия истек и его выдвинули в очередь ожидания.Очередь тайм-аута всегда имеет получателя, поэтому она должна взять это сообщение и обработать его правильно.У меня может быть несколько основных очередей, поэтому я бы хотел, чтобы все основные очереди пересылали свои просроченные сообщения в очередь тайм-аута, поэтому мне не нужно иметь получателя для очереди недоставленных сообщений каждой основной очереди.

1 Ответ

0 голосов
/ 31 мая 2018

Сценарий звучит разумно.Установка DefaultMessageTimeToLive и / или Message.TimeToLive с автоматической переадресацией Dead-Letter недостаточна.Вы на самом деле должны сначала получить эти просроченные сообщения в тупик.Для этого вам нужно будет установить EnableDeadLetteringOnMessageExpiration, чтобы сценарий работал.

Я заметил, что он будет оставаться в активном состоянии гораздо дольше, чем 5 секунд.).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...