Timer Job

Represents a built-in SharePoint object structure that can perform various tasks within the SharePoint environment on a scheduled or on a one-time event basis.

Real World Example

Although a feature stapling Feature is provided in Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0, you still need a way to activate some Features on every existing site collection in a given Web application. As such, a Feature receiver is added to the feature stapling Feature so that on installation, it adds a new timer job to the Web application that fires one time and traverses each existing site collection, adding the necessary Features.

Technical Details

Timer jobs operate in the context of the SharePoint Timer Service (OWSTimer), and have the capability to access and interoperate with the SharePoint object model at an administrator level. Timer jobs can set a schedule that can be repeated, or created to run once.

Support Details

You must clean up custom SharePoint timer jobs as part of the deactivation routines associated with the Feature that created the job. If you do not clean up custom timer jobs, the remaining timer jobs could reference assemblies that no longer exist in the environment.

Any scheduled custom timer job should have a way to control the schedule of the job because there is no built-in user interface to allow operations staff to control them. Operations staff do have the capability to delete a one-time custom timer job.

Scrutinize any code that contains a custom timer job for its potential impact on system performance. For example, a reoccurring timer job that traverses the list of sites and subsites in a server farm could have an extreme impact on performance even a small environment, if the timer job is set to run every hour or more frequently.