Class RecurringHostedServiceBase
Provides a base class for recurring background tasks implemented as hosted services.
Inheritance
Namespace: Umbraco.Cms.Infrastructure.HostedServices
Assembly: Umbraco.Infrastructure.dll
Syntax
public abstract class RecurringHostedServiceBase : IHostedService
Remarks
Constructors
View SourceRecurringHostedServiceBase(Nullable<ILogger>, TimeSpan, TimeSpan)
Initializes a new instance of the RecurringHostedServiceBase class.
Declaration
protected RecurringHostedServiceBase(ILogger? logger, TimeSpan period, TimeSpan delay)
Parameters
Type | Name | Description |
---|---|---|
System.Nullable<ILogger> | logger | Logger. |
TimeSpan | period | Timespan representing how often the task should recur. |
TimeSpan | delay | Timespan representing the initial delay after application start-up before the first run of the task occurs. |
Fields
View SourceDefaultDelay
The default delay to use for recurring tasks for the first run after application start-up if no alternative is configured.
Declaration
protected static readonly TimeSpan DefaultDelay
Field Value
Type | Description |
---|---|
TimeSpan |
Methods
View SourceChangePeriod(TimeSpan)
Change the period between operations.
Declaration
protected void ChangePeriod(TimeSpan newPeriod)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | newPeriod | The new period between tasks |
Dispose()
Declaration
public void Dispose()
Dispose(Boolean)
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | disposing |
ExecuteAsync(Object)
Executes the task.
Declaration
public virtual async void ExecuteAsync(object state)
Parameters
Type | Name | Description |
---|---|---|
System.Object | state | The task state. |
GetDelay(String, ICronTabParser, ILogger, TimeSpan)
Determines the delay before the first run of a recurring task implemented as a hosted service when an optonal configuration for the first run time is available.
Declaration
protected static TimeSpan GetDelay(string firstRunTime, ICronTabParser cronTabParser, ILogger logger, TimeSpan defaultDelay)
Parameters
Type | Name | Description |
---|---|---|
System.String | firstRunTime | The configured time to first run the task in crontab format. |
ICronTabParser | cronTabParser | An instance of ICronTabParser |
ILogger | logger | The logger. |
TimeSpan | defaultDelay | The default delay to use when a first run time is not configured. |
Returns
Type | Description |
---|---|
TimeSpan | The delay before first running the recurring task. |
PerformExecuteAsync(Object)
Declaration
public abstract Task PerformExecuteAsync(object state)
Parameters
Type | Name | Description |
---|---|---|
System.Object | state |
Returns
Type | Description |
---|---|
Task |
StartAsync(CancellationToken)
Declaration
public virtual Task StartAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task |
StopAsync(CancellationToken)
Declaration
public virtual Task StopAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task |