Выполнять другой метод рекурсивно при использовании Polly для политики повторных попыток

Я новичок в Polly для создания политики повторных попыток, и я заметил, что Polly будет выполнять один и тот же метод снова и снова, если он встречает конкретное исключение. Однако возможно ли, что Полли могла рекурсивно повторить попытку другим методом? Вот один из примеров моего текущего рабочего процесса:

  • У меня есть список элементов, которые нужно записать в базу данных в виде пакетной операции, но я не знаю общего размера данных в моем списке.
  • Моя операция записи в базу данных будет иметь ограничение определенного размера, скажем, максимальный размер 2 МБ.
  • Предположим, мой список ввода содержит 5000 элементов, а затем, когда он превышает ограничение операции записи в базу данных, выдает исключение. Я бы хотел разделить 5000 элементов пополам на 2 подмножества по 2500 элементов в каждом. Затем попробуйте снова написать с этими двумя подмножествами ...
  • Если два моих подмножества из 2500 элементов все еще превышают ограничение, я разделю 2500 пополам на 2 подмножества с каждым из 1250 элементов, а затем попробую то же самое снова.

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


person KevDing    schedule 06.09.2019    source источник
comment
Polly действительно занимается устранением переходных неисправностей. Вы должны реализовать свою собственную логику для описанного непереходного поведения и использовать Polly для обработки временных сбоев. Кроме того, конечно же, после первых нескольких раз, разве вы не хотели бы вспоминать, какие значения N работали, и начинать с них, а не пытаться каждый раз обнаруживать это?   -  person Ian Mercer    schedule 06.09.2019


Ответы (1)


Политика повтора Polly предназначена для повторения того же вызова делегата. Рекурсия - это не вариант использования, на который нацелена Полли.

person mountain traveller    schedule 16.09.2019