Срок годности отравленной очереди - PullRequest
0 голосов
/ 12 мая 2018

Как изменить период истечения срока действия сообщения ядовитой очереди на максимальный в очереди хранения Azure, и в настоящее время по умолчанию срок действия составляет 7 дней.

1 Ответ

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

AFAIK, максимально допустимое время истечения для сообщения очереди Azure составляет 7 дней, что также является значением по умолчанию.

Ядовитая очередь также является обычной очередью с именем {original-queue-name}-poison. Например, если Azure Webjobs SDK обрабатывает сообщение очереди, превышающее максимальное количество попыток, то соответствующее сообщение будет перемещено в опасную очередь, и этот процесс обрабатывается SDK.

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


UPDATE:

Как changelog.txt об изменениях в 9.0.0:

Очереди: добавлена ​​поддержка бесконечного TTL для сообщений в очереди.

Вы можете указать параметр timeToLive при добавлении сообщения очереди следующим образом:

queue.AddMessage(new CloudQueueMessage($"hello world-{DateTime.UtcNow}"),timeToLive:TimeSpan.MaxValue);

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

Примечание: Максимальное количество попыток перед отправкой сообщения очереди в очередь отравлений по умолчанию равно 5, его можно изменить с помощью config.Queues.MaxDequeueCount.

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

...