Scheduling API
Overview
Scheduled tasks in Sitefinity CMS are objects that can execute your custom logic at a specific time. It enables you to set and track the progress of the scheduled tasks. You can use scheduled task in conjunction with other Sitefinity CMS mechanism such as the event system to postpone the execution of heavy operations.
For example, you can subscribe for the ICommentCreatedEvent
for comments, to receive an email each time a new comment is created. Instead of executing the fired event handler logic immediately you can create a scheduled task that is going to perform this operation at a more convenient time, for example during the weekend.
The system automatically handles the NLB case, and the code is executed only on one node.
Create a scheduled task class
- Create a class that inherits from
Telerik.Sitefinity.Scheduling.ScheduledTask
.
- Create default constructor.
- Override the
ExecuteTask
method.
- To return the full name of your class, override the
TaskName
.
- To set a custom data and use it when the task is executed, override the
GetCustomData
and SetCustomData
methods.
GetCustomData
– in this method you return your custom data as a string and that string is stored in the database when the task is persisted.
SetCustomData
– the custom data is retrieved from the database when the task is executed and you can use it to populate the required properties of your class.
EXAMPLE: Use the following code:
The sample above also demonstrates how to persist custom data between executions of your task. To do this, override the GetCustomData()
and SetCustomData()
functions. In these functions implement conversions of the data you want to use in your scheduled task to and from string.