Увеличьте начальную задержку видимости для существующего CloudQueueMessage для Azure очереди сообщений - PullRequest
2 голосов
/ 03 марта 2020

Я пытаюсь создать следующий поток, используя Azure очередь сообщений, как показано на следующей диаграмме:

enter image description here

Итак, клиент изначально создает и добавляет сообщение в очередь с initialVisibiltiyTimeout, равным 5 минутам.

_queueResolver.GetQueue("my-queue")
                          .AddMessage( new CloudQueueMessage(json), initialVisibilityDelay: TimeSpan.FromMinutes(5));

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

1 Ответ

1 голос
/ 03 марта 2020

К сожалению, невозможно получить набор сообщений с начальной задержкой видимости до тех пор, пока не истечет время задержки видимости. По истечении этого времени сообщение автоматически появится в очереди. Более того, Azure Storage Queues не позволяет вам получить сообщение по идентификатору сообщения.

Полагаю, все, что вы можете сделать, это перечислить сообщения в режиме GET (по существу, удалить сообщения из очереди), найти соответствующий идентификатор сообщения и затем снова сделать его невидимым, изменив его свойство timeout видимости.

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