Мы используем служебную шину Azure для облегчения параллельной обработки сообщений с помощью рабочих процессов, прослушивающих очередь.
Сначала принимается агрегированное сообщение, а затем это сообщение разбивается на тысячи отдельных сообщений, которые публикуются по шаблону запрос-ответ, поскольку нам нужно знать, когда все сообщения были завершены, чтобы запустить отдельный процесс.
Наша проблема заключается в том, что метод запроса-ответа имеет тайм-аут, который вызывает следующую проблему:
Допустим, мы отправляем 1000 сообщений для обработки, и нас слушает только один работник. Сообщения, оставшиеся в очереди после истечения времени ожидания, отбрасываются, чего мы не хотим. Если мы установим время истечения на большое значение, которое гарантирует, что все сообщения будут обработаны, то мы рискуем ошибкой сообщения и необходимостью ждать тайм-аут, чтобы понять, что что-то пошло не так.
Есть ли способ динамически изменить срок действия одного сообщения в сценарии запрос-ответ или любой другой шаблон, который мы должны учитывать?
Спасибо!