Condividi tramite


GrainBaseExtensions.RegisterGrainTimer Metodo

Definizione

Overload

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

Crea un timer di granularità.

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

Crea un timer di granularità.

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

Crea un timer di granularità.

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

Crea un timer di granularità.

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

Crea un timer di granularità.

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

Crea un timer di granularità.

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

Crea un timer di granularità.

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

Parametri

grain
IGrainBase

Istanza granulare.

callback
Func<CancellationToken,Task>

Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.

options
GrainTimerCreationOptions

Opzioni per la creazione del timer.

Restituisce

Istanza di IGrainTimer che rappresenta il timer.

Commenti

I timer di granularità non mantengono attivi i grani per impostazione predefinita. Impostando KeepAlive su true, ogni tick timer estende la durata dell'attivazione della granularità. Se i segni di graduazione del timer sono poco frequenti, il grano può comunque essere disattivato a causa dell'inattività. Quando viene disattivata una granularità, tutti i timer attivi vengono eliminati.

Fino a quando non viene risolto il Task restituito dal callback, il tick timer successivo non verrà pianificato. Vale a dire, un callback timer non verrà mai eseguito contemporaneamente con se stesso. Se Interleave è impostato su true, il callback timer potrà interleaversi con altre chiamate al metodo granulare e altri timer. Se Interleave è impostato su false, il callback timer rispetterà l'impostazione di reentrancy della granularità, proprio come una tipica chiamata al metodo granulare.

Il timer può essere arrestato in qualsiasi momento chiamando il metodo Dispose() del IGrainTimer. L'eliminazione di un timer impedisce la pianificazione di ulteriori tick timer.

È possibile aggiornare il timer a scadenza e il periodo chiamando il relativo metodo Change(TimeSpan, TimeSpan). Ogni volta che il timer viene aggiornato, il tick timer successivo verrà pianificato in base all'ora di scadenza aggiornata. I tick successivi verranno pianificati dopo la scadenza del periodo aggiornato. Si noti che questo comportamento corrisponde al metodo Change(TimeSpan, TimeSpan).

Le eccezioni generate dal callback verranno registrate, ma non impediranno la coda del tick timer successivo.

Si applica a

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

Parametri

grain
IGrainBase
callback
Func<Task>

Restituisce

Si applica a

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

Crea un timer di granularità.

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

Parametri

grain
IGrainBase

Istanza granulare.

callback
Func<CancellationToken,Task>

Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.

dueTime
TimeSpan

Oggetto TimeSpan che rappresenta la quantità di tempo di ritardo prima di richiamare il metodo di callback specificato al momento della costruzione del IGrainTimer. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.

period
TimeSpan

Intervallo di tempo tra le chiamate del metodo di callback specificato quando è stata costruita la IGrainTimer. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.

Restituisce

Istanza di IGrainTimer che rappresenta il timer.

Si applica a

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

Crea un timer di granularità.

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

Parametri

grain
IGrainBase

Istanza granulare.

callback
Func<Task>

Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.

dueTime
TimeSpan

Oggetto TimeSpan che rappresenta la quantità di tempo di ritardo prima di richiamare il metodo di callback specificato al momento della costruzione del IGrainTimer. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.

period
TimeSpan

Intervallo di tempo tra le chiamate del metodo di callback specificato quando è stata costruita la IGrainTimer. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.

Restituisce

Istanza di IGrainTimer che rappresenta il timer.

Commenti

I timer di granularità non mantengono attivi i grani per impostazione predefinita. Impostando KeepAlive su true, ogni tick timer estende la durata dell'attivazione della granularità. Se i segni di graduazione del timer sono poco frequenti, il grano può comunque essere disattivato a causa dell'inattività. Quando viene disattivata una granularità, tutti i timer attivi vengono eliminati.

Fino a quando non viene risolto il Task restituito dal callback, il tick timer successivo non verrà pianificato. Vale a dire, un callback timer non verrà mai eseguito contemporaneamente con se stesso. Se Interleave è impostato su true, il callback timer potrà interleaversi con altre chiamate al metodo granulare e altri timer. Se Interleave è impostato su false, il callback timer rispetterà l'impostazione di reentrancy della granularità, proprio come una tipica chiamata al metodo granulare.

Il timer può essere arrestato in qualsiasi momento chiamando il metodo Dispose() del IGrainTimer. L'eliminazione di un timer impedisce la pianificazione di ulteriori tick timer.

È possibile aggiornare il timer a scadenza e il periodo chiamando il relativo metodo Change(TimeSpan, TimeSpan). Ogni volta che il timer viene aggiornato, il tick timer successivo verrà pianificato in base all'ora di scadenza aggiornata. I tick successivi verranno pianificati dopo la scadenza del periodo aggiornato. Si noti che questo comportamento corrisponde al metodo Change(TimeSpan, TimeSpan).

Le eccezioni generate dal callback verranno registrate, ma non impediranno la coda del tick timer successivo.

Si applica a

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

Crea un timer di granularità.

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

Parametri di tipo

TState

Tipo del parametro state.

Parametri

grain
IGrainBase
callback
Func<TState,CancellationToken,Task>

Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.

state
TState

Stato passato al callback.

options
GrainTimerCreationOptions

Opzioni per la creazione del timer.

Restituisce

Istanza di IGrainTimer che rappresenta il timer.

Commenti

I timer di granularità non mantengono attivi i grani per impostazione predefinita. Impostando KeepAlive su true, ogni tick timer estende la durata dell'attivazione della granularità. Se i segni di graduazione del timer sono poco frequenti, il grano può comunque essere disattivato a causa dell'inattività. Quando viene disattivata una granularità, tutti i timer attivi vengono eliminati.

Fino a quando non viene risolto il Task restituito dal callback, il tick timer successivo non verrà pianificato. Vale a dire, un callback timer non verrà mai eseguito contemporaneamente con se stesso. Se Interleave è impostato su true, il callback timer potrà interleaversi con altre chiamate al metodo granulare e altri timer. Se Interleave è impostato su false, il callback timer rispetterà l'impostazione di reentrancy della granularità, proprio come una tipica chiamata al metodo granulare.

Il timer può essere arrestato in qualsiasi momento chiamando il metodo Dispose() del IGrainTimer. L'eliminazione di un timer impedisce la pianificazione di ulteriori tick timer.

È possibile aggiornare il timer a scadenza e il periodo chiamando il relativo metodo Change(TimeSpan, TimeSpan). Ogni volta che il timer viene aggiornato, il tick timer successivo verrà pianificato in base all'ora di scadenza aggiornata. I tick successivi verranno pianificati dopo la scadenza del periodo aggiornato. Si noti che questo comportamento corrisponde al metodo Change(TimeSpan, TimeSpan).

Le eccezioni generate dal callback verranno registrate, ma non impediranno la coda del tick timer successivo.

Si applica a

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

Parametri di tipo

TState

Tipo del parametro state.

Parametri

grain
IGrainBase
callback
Func<TState,Task>
state
TState

Stato passato al callback.

Restituisce

Si applica a

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

Crea un timer di granularità.

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

Parametri di tipo

TState

Tipo del parametro state.

Parametri

grain
IGrainBase

Istanza granulare.

callback
Func<TState,CancellationToken,Task>

Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.

state
TState

Stato passato al callback.

dueTime
TimeSpan

Oggetto TimeSpan che rappresenta la quantità di tempo di ritardo prima di richiamare il metodo di callback specificato al momento della costruzione del IGrainTimer. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.

period
TimeSpan

Intervallo di tempo tra le chiamate del metodo di callback specificato quando è stata costruita la IGrainTimer. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.

Restituisce

Istanza di IGrainTimer che rappresenta il timer.

Si applica a

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

Crea un timer di granularità.

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

Parametri di tipo

TState

Tipo del parametro state.

Parametri

grain
IGrainBase

Istanza granulare.

callback
Func<TState,Task>

Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.

state
TState

Stato passato al callback.

dueTime
TimeSpan

Oggetto TimeSpan che rappresenta la quantità di tempo di ritardo prima di richiamare il metodo di callback specificato al momento della costruzione del IGrainTimer. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.

period
TimeSpan

Intervallo di tempo tra le chiamate del metodo di callback specificato quando è stata costruita la IGrainTimer. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.

Restituisce

Istanza di IGrainTimer che rappresenta il timer.

Si applica a