сравнение с текущей датой в правиле / фильтре подписки на тему служебной шины - PullRequest
0 голосов
/ 17 октября 2018

В моем текущем проекте у меня есть идея использовать фильтры / правила для подписки на тему для настраиваемой политики повторных попыток.

Я получаю сообщение из темы в функции Azure и пытаюсь отправить его на удаленный сервер.оказание услуг.Если служба выдает исключение Timeout, я хочу добавить в сообщение настраиваемое свойство с именем PostponeUntil с определенной датой-временем (например, через час), снова добавить его в тему и затем использовать правило для подписки наотфильтруйте это сообщение, пока не настанет время для повторной попытки.Можно ли сделать с SqlFilter что-то вроде этого:

 var filter = new Microsoft.Azure.ServiceBus.SqlFilter("GETDATE() = PostponedUntilDateTime");

Если нет, каковы альтернативы для моего сценария?

1 Ответ

0 голосов
/ 17 октября 2018

Для отправки сообщений в очереди и темы служебной шины с задержкой по времени следует использовать запланированный обмен сообщениями.

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

ScheduleMessageAsync - это методы, которые вы должны использовать для ее достижения.

Смотрите здесь для получения дополнительной информации о запланированных сообщениях.

...