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

  1. Create a class that inherits from Telerik.Sitefinity.Scheduling.ScheduledTask.
  2. Create default constructor.
  3. Override the ExecuteTask method.
  4. To return the full name of your class, override the TaskName.
  5. 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.

Want to learn more?

Sign up for our free beginner training. Boost your credentials through advanced courses and certification.
Register for Sitefinity training and certification.

Was this article helpful?

Next article

Site search API