How To Create Sitecore Scheduled Task

To create a scheduled task in Sitecore, first you must create the .NET class that will contain the logic that you wish to execute.  In the example below I’m simply logging a message whenever the task is run.

Your method must accept three arguments.

  1. An array of items that can be specified in a later step when you define the command’s schedule.
  2. The Sitecore task CommandItem
  3. The Sitecore task ScheduleItem

Once you have your logic defined, you can then create your task command in Sitecore.  To do this, navigate to the commands folder under System/Tasks and create a new command as shown below.

Create_Sitecore_Task_Command

 

In the Type field enter the assembly qualified type name as shown above and in the Method field enter the name of the method to be called in your class.

Now you must define the task schedule for your command in Sitecore.  To do this, navigate to the schedules folder under System/Tasks and create a new schedule as shown below.

Create_Sitecore_Task_Schedule

To define your schedule

  1. Under the Command field select the command you just created
  2. If you wish to define items that will populate the items array in your class, you can do so under the Items field.  This can be done using a Sitecore query without the ‘query:’ prefix or a pipe (“|”) delimited list of items.
  3. The Schedule field can be a bit tricky.  You’ll notice in my example above that I have several piped values. They are defined as follows:
    1. The start date in yyyyMMdd format.
    2. The end date in yyyyMMdd format.
    3. The days of the week that the task should be run.  Each day is assigned a value, 1 = Sunday, 2 = Monday, 4 = Tuesday, 8 = Wednesday, 16 = Thursday, 32 = Friday, and 64 = Saturday.  For example to run a task Monday through Friday you’d enter 62 (2 + 4 + 8 + 16 + 32).  I have my task set up to run every day (1 + 2 + 4 + 8 + 16 + 32 + 64 = 127).
    4. The minimum interval the task is to be run in HH:mm:ss format.  The example above is set to run once every 24 hours.
  4. The Last run field will be updated by Sitecore whenever your task is run.  When creating your schedule you don’t have to set this but if you do, Sitecore will think that was the last time it invoked your command.
  5. Checking the Async field will cause your task to be run asynchronously.
  6. Checking the Auto remove field will cause Sitecore to automatically remove the schedule definition item when the task has expired.

Your task is now set up to run at the specified interval.  For more information on creating these take a look at John West’s Blog Post.

Advertisements

One thought on “How To Create Sitecore Scheduled Task

  1. I have found that every time I place a piped value in 7.2, I get a .bot error code. Not so in 8.0 (unless I do an ansynch run). Thanks for the info. Helpful as usual

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.