Поделиться через


AsyncExecutorWithRetries.ExecuteWithRetries Метод

Определение

Перегрузки

ExecuteWithRetries(Func<Int32,Task>, Int32, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider)

Выполнение заданной функции несколько раз на основе параметров конфигурации повтора.

ExecuteWithRetries<T>(Func<Int32,Task<T>>, Int32, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider)

Выполнение заданной функции несколько раз на основе параметров конфигурации повтора.

ExecuteWithRetries<T>(Func<Int32,Task<T>>, Int32, Int32, Func<T, Int32,Boolean>, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider, IBackoffProvider)

Выполнение заданного function числа раз на основе параметров конфигурации повтора.

ExecuteWithRetries(Func<Int32,Task>, Int32, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider)

Исходный код:
AsyncExecutorWithRetries.cs

Выполнение заданной функции несколько раз на основе параметров конфигурации повтора.

public static System.Threading.Tasks.Task ExecuteWithRetries (Func<int,System.Threading.Tasks.Task> action, int maxNumErrorTries, Func<Exception,int,bool> retryExceptionFilter, TimeSpan maxExecutionTime, Orleans.Internal.IBackoffProvider onErrorBackOff);
static member ExecuteWithRetries : Func<int, System.Threading.Tasks.Task> * int * Func<Exception, int, bool> * TimeSpan * Orleans.Internal.IBackoffProvider -> System.Threading.Tasks.Task
Public Shared Function ExecuteWithRetries (action As Func(Of Integer, Task), maxNumErrorTries As Integer, retryExceptionFilter As Func(Of Exception, Integer, Boolean), maxExecutionTime As TimeSpan, onErrorBackOff As IBackoffProvider) As Task

Параметры

action
Func<Int32,Task>

Выполняемое действие.

maxNumErrorTries
Int32

Максимальное число попыток.

retryExceptionFilter
Func<Exception,Int32,Boolean>

Фильтр исключений повтора.

maxExecutionTime
TimeSpan

Максимальное время выполнения.

onErrorBackOff
IBackoffProvider

Поставщик резервной передачи.

Возвращаемое значение

Объект , Task представляющий операцию.

Применяется к

ExecuteWithRetries<T>(Func<Int32,Task<T>>, Int32, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider)

Исходный код:
AsyncExecutorWithRetries.cs

Выполнение заданной функции несколько раз на основе параметров конфигурации повтора.

public static System.Threading.Tasks.Task<T> ExecuteWithRetries<T> (Func<int,System.Threading.Tasks.Task<T>> function, int maxNumErrorTries, Func<Exception,int,bool> retryExceptionFilter, TimeSpan maxExecutionTime, Orleans.Internal.IBackoffProvider onErrorBackOff);
static member ExecuteWithRetries : Func<int, System.Threading.Tasks.Task<'T>> * int * Func<Exception, int, bool> * TimeSpan * Orleans.Internal.IBackoffProvider -> System.Threading.Tasks.Task<'T>
Public Shared Function ExecuteWithRetries(Of T) (function As Func(Of Integer, Task(Of T)), maxNumErrorTries As Integer, retryExceptionFilter As Func(Of Exception, Integer, Boolean), maxExecutionTime As TimeSpan, onErrorBackOff As IBackoffProvider) As Task(Of T)

Параметры типа

T

Параметры

function
Func<Int32,Task<T>>

Выполняемый делегат.

maxNumErrorTries
Int32

Максимальное число попыток.

retryExceptionFilter
Func<Exception,Int32,Boolean>

Фильтр исключений повтора.

maxExecutionTime
TimeSpan

Максимальное время выполнения.

onErrorBackOff
IBackoffProvider

Поставщик резервной передачи.

Возвращаемое значение

Task<T>

Значение, возвращенное при успешном вызове предоставленной функции.

Применяется к

ExecuteWithRetries<T>(Func<Int32,Task<T>>, Int32, Int32, Func<T, Int32,Boolean>, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider, IBackoffProvider)

Исходный код:
AsyncExecutorWithRetries.cs

Выполнение заданного function числа раз на основе параметров конфигурации повтора.

public static System.Threading.Tasks.Task<T> ExecuteWithRetries<T> (Func<int,System.Threading.Tasks.Task<T>> function, int maxNumSuccessTries, int maxNumErrorTries, Func<T,int,bool> retryValueFilter, Func<Exception,int,bool> retryExceptionFilter, TimeSpan maxExecutionTime = default, Orleans.Internal.IBackoffProvider onSuccessBackOff = default, Orleans.Internal.IBackoffProvider onErrorBackOff = default);
static member ExecuteWithRetries : Func<int, System.Threading.Tasks.Task<'T>> * int * int * Func<'T, int, bool> * Func<Exception, int, bool> * TimeSpan * Orleans.Internal.IBackoffProvider * Orleans.Internal.IBackoffProvider -> System.Threading.Tasks.Task<'T>
Public Shared Function ExecuteWithRetries(Of T) (function As Func(Of Integer, Task(Of T)), maxNumSuccessTries As Integer, maxNumErrorTries As Integer, retryValueFilter As Func(Of T, Integer, Boolean), retryExceptionFilter As Func(Of Exception, Integer, Boolean), Optional maxExecutionTime As TimeSpan = Nothing, Optional onSuccessBackOff As IBackoffProvider = Nothing, Optional onErrorBackOff As IBackoffProvider = Nothing) As Task(Of T)

Параметры типа

T

Базовый тип возвращаемого значения function.

Параметры

function
Func<Int32,Task<T>>

Выполняемая функция

maxNumSuccessTries
Int32

Максимальное число успешных попыток выполнения. ExecuteWithRetries(Func<Int32,Task>, Int32, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider)попытается повторно выполнить заданный function объект , если он направлен таким образом .retryValueFilter Задайте значение -1 для неограниченного количества повторных попыток, пока не retryValueFilter будет выполнено. Присвойте значение 0 только для одной попытки успешного выполнения, что приведет retryValueFilter к пропускам и выполнению заданного function только один раз до первого успеха.

maxNumErrorTries
Int32

Максимальное число попыток выполнения из-за ошибок. Задайте значение -1 для неограниченного числа повторных попыток ошибки, пока не retryExceptionFilter будет выполнено.

retryValueFilter
Func<T,Int32,Boolean>

Отфильтруйте function , чтобы указать, следует ли повторить успешное выполнение. Установите значение , null чтобы отключить успешные повторные попытки.

retryExceptionFilter
Func<Exception,Int32,Boolean>

Фильтр function , указывающий, следует ли повторить выполнение ошибки. Задайте значение , null чтобы отключить повторные попытки ошибок.

maxExecutionTime
TimeSpan

Максимальное время ExecuteWithRetries(Func<Int32,Task>, Int32, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider) выполнения функции.

onSuccessBackOff
IBackoffProvider

Объект поставщика backoff, который определяет время ожидания между повторными попытками успешного выполнения.

onErrorBackOff
IBackoffProvider

Объект поставщика backoff, который определяет, сколько времени ожидания между повторными попытками ошибки

Возвращаемое значение

Task<T>

Значение, возвращенное при успешном вызове function.

Применяется к