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) |
Выполнение заданного |
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
Параметры
- maxNumErrorTries
- Int32
Максимальное число попыток.
- 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
Параметры
- maxNumErrorTries
- Int32
Максимальное число попыток.
- maxExecutionTime
- TimeSpan
Максимальное время выполнения.
- onErrorBackOff
- IBackoffProvider
Поставщик резервной передачи.
Возвращаемое значение
Значение, возвращенное при успешном вызове предоставленной функции.
Применяется к
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
.
Параметры
- maxNumSuccessTries
- Int32
Максимальное число успешных попыток выполнения.
ExecuteWithRetries(Func<Int32,Task>, Int32, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider)попытается повторно выполнить заданный function
объект , если он направлен таким образом .retryValueFilter
Задайте значение -1
для неограниченного количества повторных попыток, пока не retryValueFilter
будет выполнено. Присвойте значение 0
только для одной попытки успешного выполнения, что приведет retryValueFilter
к пропускам и выполнению заданного function
только один раз до первого успеха.
- maxNumErrorTries
- Int32
Максимальное число попыток выполнения из-за ошибок. Задайте значение -1 для неограниченного числа повторных попыток ошибки, пока не retryExceptionFilter
будет выполнено.
Отфильтруйте function
, чтобы указать, следует ли повторить успешное выполнение. Установите значение , null
чтобы отключить успешные повторные попытки.
Фильтр function
, указывающий, следует ли повторить выполнение ошибки. Задайте значение , null
чтобы отключить повторные попытки ошибок.
- maxExecutionTime
- TimeSpan
Максимальное время ExecuteWithRetries(Func<Int32,Task>, Int32, Func<Exception,Int32,Boolean>, TimeSpan, IBackoffProvider) выполнения функции.
- onSuccessBackOff
- IBackoffProvider
Объект поставщика backoff, который определяет время ожидания между повторными попытками успешного выполнения.
- onErrorBackOff
- IBackoffProvider
Объект поставщика backoff, который определяет, сколько времени ожидания между повторными попытками ошибки
Возвращаемое значение
Значение, возвращенное при успешном вызове function
.