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


GrainBaseExtensions.RegisterGrainTimer Метод

Определение

Перегрузки

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions)

Создает таймер зерна.

RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan)

Создает таймер зерна.

RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan)

Создает таймер зерна.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions)

Создает таймер зерна.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions)
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan)

Создает таймер зерна.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan)

Создает таймер зерна.

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions)

Создает таймер зерна.

public static Orleans.Runtime.IGrainTimer RegisterGrainTimer (this Orleans.IGrainBase grain, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> callback, Orleans.Runtime.GrainTimerCreationOptions options);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> * Orleans.Runtime.GrainTimerCreationOptions -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer (grain As IGrainBase, callback As Func(Of CancellationToken, Task), options As GrainTimerCreationOptions) As IGrainTimer

Параметры

grain
IGrainBase

Экземпляр зерна.

callback
Func<CancellationToken,Task>

Обратный вызов таймера, который будет вызываться всякий раз, когда таймер становится из-за выполнения.

options
GrainTimerCreationOptions

Параметры создания таймера.

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

Экземпляр IGrainTimer, представляющий таймер.

Комментарии

Таймеры зерна по умолчанию не сохраняют активные зерна. Установка KeepAlive на true приводит к тому, что каждый таймер будет расширять время существования активации зерна. Если галочки таймера нечасто, зерно по-прежнему может быть деактивировано из-за бездействия. При деактивации зерна все активные таймеры удаляются.

Пока Task, возвращенные из обратного вызова, не будут запланированы следующие галочки таймера. То есть обратный вызов таймера никогда не будет одновременно выполняться с самим собой. Если для Interleave задано значение true, обратный вызов таймера будет разрешен перекрестить с другими вызовами методов зерна и другими таймерами. Если для Interleave задано значение false, обратный вызов таймера будет учитывать параметр повторной передачи зерна, как и типичный вызов метода зерна.

Таймер может быть остановлен в любое время путем вызова метода IGrainTimerDispose(). Удаление таймера предотвращает планирование дальнейших тикеров таймера.

Время и период времени ожидания таймера можно обновить, вызвав метод Change(TimeSpan, TimeSpan). Каждый раз при обновлении таймера в следующий таймер будет запланирован на основе обновленного времени выполнения. Последующие галочки будут запланированы после истечения обновленного периода. Обратите внимание, что это поведение совпадает с методом Change(TimeSpan, TimeSpan).

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

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

RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)

public static Orleans.Runtime.IGrainTimer RegisterGrainTimer (this Orleans.IGrainBase grain, Func<System.Threading.Tasks.Task> callback, Orleans.Runtime.GrainTimerCreationOptions options);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<System.Threading.Tasks.Task> * Orleans.Runtime.GrainTimerCreationOptions -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer (grain As IGrainBase, callback As Func(Of Task), options As GrainTimerCreationOptions) As IGrainTimer

Параметры

grain
IGrainBase
callback
Func<Task>

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

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

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan)

Создает таймер зерна.

public static Orleans.Runtime.IGrainTimer RegisterGrainTimer (this Orleans.IGrainBase grain, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> callback, TimeSpan dueTime, TimeSpan period);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> * TimeSpan * TimeSpan -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer (grain As IGrainBase, callback As Func(Of CancellationToken, Task), dueTime As TimeSpan, period As TimeSpan) As IGrainTimer

Параметры

grain
IGrainBase

Экземпляр зерна.

callback
Func<CancellationToken,Task>

Обратный вызов таймера, который будет вызываться всякий раз, когда таймер становится из-за выполнения.

dueTime
TimeSpan

TimeSpan, представляющее время задержки перед вызовом метода обратного вызова, указанного при создании IGrainTimer. Укажите InfiniteTimeSpan, чтобы предотвратить запуск таймера. Укажите Zero, чтобы немедленно запустить таймер.

period
TimeSpan

Интервал времени между вызовами метода обратного вызова, указанного при создании IGrainTimer. Укажите InfiniteTimeSpan для отключения периодического сигнала.

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

Экземпляр IGrainTimer, представляющий таймер.

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

RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan)

Создает таймер зерна.

public static Orleans.Runtime.IGrainTimer RegisterGrainTimer (this Orleans.IGrainBase grain, Func<System.Threading.Tasks.Task> callback, TimeSpan dueTime, TimeSpan period);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<System.Threading.Tasks.Task> * TimeSpan * TimeSpan -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer (grain As IGrainBase, callback As Func(Of Task), dueTime As TimeSpan, period As TimeSpan) As IGrainTimer

Параметры

grain
IGrainBase

Экземпляр зерна.

callback
Func<Task>

Обратный вызов таймера, который будет вызываться всякий раз, когда таймер становится из-за выполнения.

dueTime
TimeSpan

TimeSpan, представляющее время задержки перед вызовом метода обратного вызова, указанного при создании IGrainTimer. Укажите InfiniteTimeSpan, чтобы предотвратить запуск таймера. Укажите Zero, чтобы немедленно запустить таймер.

period
TimeSpan

Интервал времени между вызовами метода обратного вызова, указанного при создании IGrainTimer. Укажите InfiniteTimeSpan для отключения периодического сигнала.

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

Экземпляр IGrainTimer, представляющий таймер.

Комментарии

Таймеры зерна по умолчанию не сохраняют активные зерна. Установка KeepAlive на true приводит к тому, что каждый таймер будет расширять время существования активации зерна. Если галочки таймера нечасто, зерно по-прежнему может быть деактивировано из-за бездействия. При деактивации зерна все активные таймеры удаляются.

Пока Task, возвращенные из обратного вызова, не будут запланированы следующие галочки таймера. То есть обратный вызов таймера никогда не будет одновременно выполняться с самим собой. Если для Interleave задано значение true, обратный вызов таймера будет разрешен перекрестить с другими вызовами методов зерна и другими таймерами. Если для Interleave задано значение false, обратный вызов таймера будет учитывать параметр повторной передачи зерна, как и типичный вызов метода зерна.

Таймер может быть остановлен в любое время путем вызова метода IGrainTimerDispose(). Удаление таймера предотвращает планирование дальнейших тикеров таймера.

Время и период времени ожидания таймера можно обновить, вызвав метод Change(TimeSpan, TimeSpan). Каждый раз при обновлении таймера в следующий таймер будет запланирован на основе обновленного времени выполнения. Последующие галочки будут запланированы после истечения обновленного периода. Обратите внимание, что это поведение совпадает с методом Change(TimeSpan, TimeSpan).

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

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

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions)

Создает таймер зерна.

public static Orleans.Runtime.IGrainTimer RegisterGrainTimer<TState> (this Orleans.IGrainBase grain, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> callback, TState state, Orleans.Runtime.GrainTimerCreationOptions options);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * 'State * Orleans.Runtime.GrainTimerCreationOptions -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer(Of TState) (grain As IGrainBase, callback As Func(Of TState, CancellationToken, Task), state As TState, options As GrainTimerCreationOptions) As IGrainTimer

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

TState

Тип параметра state.

Параметры

grain
IGrainBase
callback
Func<TState,CancellationToken,Task>

Обратный вызов таймера, который будет вызываться всякий раз, когда таймер становится из-за выполнения.

state
TState

Состояние, переданное обратному вызову.

options
GrainTimerCreationOptions

Параметры создания таймера.

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

Экземпляр IGrainTimer, представляющий таймер.

Комментарии

Таймеры зерна по умолчанию не сохраняют активные зерна. Установка KeepAlive на true приводит к тому, что каждый таймер будет расширять время существования активации зерна. Если галочки таймера нечасто, зерно по-прежнему может быть деактивировано из-за бездействия. При деактивации зерна все активные таймеры удаляются.

Пока Task, возвращенные из обратного вызова, не будут запланированы следующие галочки таймера. То есть обратный вызов таймера никогда не будет одновременно выполняться с самим собой. Если для Interleave задано значение true, обратный вызов таймера будет разрешен перекрестить с другими вызовами методов зерна и другими таймерами. Если для Interleave задано значение false, обратный вызов таймера будет учитывать параметр повторной передачи зерна, как и типичный вызов метода зерна.

Таймер может быть остановлен в любое время путем вызова метода IGrainTimerDispose(). Удаление таймера предотвращает планирование дальнейших тикеров таймера.

Время и период времени ожидания таймера можно обновить, вызвав метод Change(TimeSpan, TimeSpan). Каждый раз при обновлении таймера в следующий таймер будет запланирован на основе обновленного времени выполнения. Последующие галочки будут запланированы после истечения обновленного периода. Обратите внимание, что это поведение совпадает с методом Change(TimeSpan, TimeSpan).

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

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

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions)

public static Orleans.Runtime.IGrainTimer RegisterGrainTimer<TState> (this Orleans.IGrainBase grain, Func<TState,System.Threading.Tasks.Task> callback, TState state, Orleans.Runtime.GrainTimerCreationOptions options);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<'State, System.Threading.Tasks.Task> * 'State * Orleans.Runtime.GrainTimerCreationOptions -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer(Of TState) (grain As IGrainBase, callback As Func(Of TState, Task), state As TState, options As GrainTimerCreationOptions) As IGrainTimer

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

TState

Тип параметра state.

Параметры

grain
IGrainBase
callback
Func<TState,Task>
state
TState

Состояние, переданное обратному вызову.

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

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

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan)

Создает таймер зерна.

public static Orleans.Runtime.IGrainTimer RegisterGrainTimer<TState> (this Orleans.IGrainBase grain, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> callback, TState state, TimeSpan dueTime, TimeSpan period);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * 'State * TimeSpan * TimeSpan -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer(Of TState) (grain As IGrainBase, callback As Func(Of TState, CancellationToken, Task), state As TState, dueTime As TimeSpan, period As TimeSpan) As IGrainTimer

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

TState

Тип параметра state.

Параметры

grain
IGrainBase

Экземпляр зерна.

callback
Func<TState,CancellationToken,Task>

Обратный вызов таймера, который будет вызываться всякий раз, когда таймер становится из-за выполнения.

state
TState

Состояние, переданное обратному вызову.

dueTime
TimeSpan

TimeSpan, представляющее время задержки перед вызовом метода обратного вызова, указанного при создании IGrainTimer. Укажите InfiniteTimeSpan, чтобы предотвратить запуск таймера. Укажите Zero, чтобы немедленно запустить таймер.

period
TimeSpan

Интервал времени между вызовами метода обратного вызова, указанного при создании IGrainTimer. Укажите InfiniteTimeSpan для отключения периодического сигнала.

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

Экземпляр IGrainTimer, представляющий таймер.

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

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan)

Создает таймер зерна.

public static Orleans.Runtime.IGrainTimer RegisterGrainTimer<TState> (this Orleans.IGrainBase grain, Func<TState,System.Threading.Tasks.Task> callback, TState state, TimeSpan dueTime, TimeSpan period);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<'State, System.Threading.Tasks.Task> * 'State * TimeSpan * TimeSpan -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer(Of TState) (grain As IGrainBase, callback As Func(Of TState, Task), state As TState, dueTime As TimeSpan, period As TimeSpan) As IGrainTimer

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

TState

Тип параметра state.

Параметры

grain
IGrainBase

Экземпляр зерна.

callback
Func<TState,Task>

Обратный вызов таймера, который будет вызываться всякий раз, когда таймер становится из-за выполнения.

state
TState

Состояние, переданное обратному вызову.

dueTime
TimeSpan

TimeSpan, представляющее время задержки перед вызовом метода обратного вызова, указанного при создании IGrainTimer. Укажите InfiniteTimeSpan, чтобы предотвратить запуск таймера. Укажите Zero, чтобы немедленно запустить таймер.

period
TimeSpan

Интервал времени между вызовами метода обратного вызова, указанного при создании IGrainTimer. Укажите InfiniteTimeSpan для отключения периодического сигнала.

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

Экземпляр IGrainTimer, представляющий таймер.

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