Like This ...

Controlling timer jobs in Sharepoint

One of the most frustrating things in Sharepoint for developers or even administrators, is implementing a new change and then nothing seems to happen. This is caused by the fact that Sharepoint implements almost all changes as jobs that run behind the scenes.

The only way to speed things up is to firstly understand what jobs are available and then finding a way to change the schedule or execute the job immediately. Unfortunately there is no way to to this in the admin console by default and therefore you will have to use the command line tool "stsadm" to do his.

In this blog I will first outline the default jobs that exist, show where you can find this information using the "Sharepoint Admin Console" and then run a command to change the job schedule.

Default timer jobs

Default timer jobs for Windows SharePoint Services 3.0

The following table lists the default timer jobs created for Windows SharePoint Services 3.0.

Timer job title

Schedule type

CEIP Data Collection

Daily

Change Log

Daily

Database Statistics

Weekly

Dead Site Delete

Daily

Disk Quota Warning

Daily

Immediate Alerts

Minutes

Recycle Bin

Daily

Usage Analysis

Daily

Workflow

Minutes

Workflow Auto Cleanup

Daily

Workflow Failover

Minutes

Default timer jobs for Office SharePoint Server 2007

The following table lists the default timer jobs created for Microsoft Office SharePoint Server 2007.

Timer job title

Schedule type

Application Server Administration Service Timer Job

Minutes

Application Server Timer Job

Minutes

Bulk Workflow Task Processing

Daily

CEIP Data Collection

Daily

Change Log

Daily

Child Farm Content Source Discovery

Minutes

Database Statistics

Weekly

Dead Site Delete

Daily

Disk Quota Warning

Daily

Document Conversions

Minutes

Expiration Policy

Daily

Hold Processing and Reporting

Daily

Immediate Alerts

Minutes

Indexing Schedule Manager on SQL Server

Minutes

Information Management Policy

Daily

Licensing Synchronizer Job

Hourly

My Site Cleanup Job

Hourly

Office SharePoint Server CEIP Data Collection

Daily

Office SharePoint Usage Analytics Log Import

Daily

Office SharePoint Usage Analytics Processing

Minutes

Profile Synchronization

Hourly

Quick Profile Synchronization

Minutes

Records Center Processing

Daily

Recycle Bin

Daily

Scheduled Approval

Minutes

Scheduled Page Review

Daily

Scheduled Unpublish

Minutes

Search and Process

Daily

Shared Services Provider Synchronizing Job

Minutes

Shared Services Timer Job

Minutes

SharePoint Services Search Refresh

Minutes

SharePoint Worker Process Group Update

One-Time

SKU Type Synchronization Job

Hourly

Synchronization Scheduler

Minutes

Usage Analysis

Daily

Variations Propagate Page Job Definition

Minutes

Variations Propagate Site Job Definition

Minutes

Windows SharePoint Services Watson Policy Update

One-Time

Workflow

Minutes

Workflow Auto Cleanup

Daily

Workflow Failover

Minutes

Timer jobs for Office SharePoint Server 2007 with Project Server 2007

The following table lists the timer jobs that are available for Office SharePoint Server 2007 only, if Microsoft Office Project Server 2007 is installed in the farm.

Timer job title

Schedule type

ProjectPSISharedApplicationTimerJob

Minutes

ServerScheduledTimerJob Subtypes:

  • Notifications Timer job to send scheduled reminders
  • Cubeadmin Timer job for building cubes
  • Admin Time job for AdSync (ERP and Group sync)
  • Apply Resource Capacity TimeRange Job
  • Admin Event Configuration TimerJob
  • Admin Scheduled Archive/Backup Job

Minutes

ProjectServiceCredentialUpdateTimerJob

Minutes

ProjectServiceCheckerTimerJob

Minutes

Shared Services Provider timer jobs

Shared Services Provider (SSP) timer jobs are timer jobs that are created by default whenever an SSP is created. By default, SSP timer jobs are disabled, and they have to be enabled. These timer jobs are scheduled to run daily, weekly, or at any particular time.

Default SSP timer jobs

The following table contains the default timer jobs for any SSP created.

Timer job title

Description

User Profile Full Import Job

This timer job imports all data in user profiles.

User Profile Incremental Import Job

This timer job imports only the user profiles that are added since the last import.

User Profile Change Job

This timer job changes the user profile. User rights can be migrated from one user to another user. This timer job is used when a user needs to be migrated, but the previous user profile remains in the Active Directory directory service.

User Profile Change Cleanup Job

This timer job is also used to migrate user rights from one user to another user, but this timer job migrates the user rights and cleans up that user from Active Directory. This is mainly used when the name of a user is changed in Active Directory. The older user name is replaced by new user name and the older one is removed from Active Directory.

Audience Compilation Job

This timer job checks property values in user profile and membership in distribution lists, security groups, and reporting structures to see whether they match the audience rule created. Users that match the audience rules for an audience are included in that audience and the received content is targeted to that audience. A compilation schedule can be set.

Distribution List Import Job

This timer job is used to import the distribution list, so that it can be used among different users.

SSP timer jobs for Office SharePoint Server 2007 with Project Server 2007

The following table lists the SSP timer jobs for Office SharePoint Server 2007 only, if Office Project Server 2007 is installed in the farm.

Timer job title

Description

PWASSPSubmitSiteCreationTimerJob

This timer job is a one-time timer job used to submit ProjectPSISharedApplicationTimerJob, which is used for provisioning PWA instances, and MUI provisioning.

PWASSPSubmitServerScheduledTimerJob

This timer job is a one-time timer job to submit ServerScheduledTimerJob, which is used by business objects to schedule a task.

Viewing the Jobs using the admin Console

All the above mentioned jobs can be viewed using the "Admin web site for Sharepoint". Open up the site and navigate to the operations tab.

Ctrlsptimer001.JPG

On this tab you will find a section called "Global Configuration". There are two options here relating to jobs. The first one is called "Job Definitions" to show you a list of the jobs used by Sharepoint.

Ctrlsptimer002.JPG

The second option is used to view the "Status" of each of these jobs.

Ctrlsptimer003.JPG

Unfortunately none of these two screens allow you to change anything significant about the jobs except the description. You can also disable the job using this screen. The only way to change anything as far as scheduling goes is to use the command line.

Ctrlsptimer004.JPG

You can also view all the jobs from the command line by enumerating through the collection:

stsadm -o enumssptimerjobs -title "sspname"

Ctrlsptimer005.JPG

Changing the Job Schedules

The "stsadm" Administrators command-line application can be used to control certain Timed Jobs functionality. Unfortunately, there are no default commands to install or start/stop Timed Jobs, but there is a command to run all Jobs immediately and commands to reschedule a number of Jobs.

stsadm -o execadmsvcjobs

When you schedule a timed job, you schedule the beginning time for the job. For example, you can schedule a job to be run daily, beginning between 3:00 AM and 5:00 AM. You always schedule jobs to begin within a time range, rather than at a specific time. This allows the SharePoint Timer service to be run at a random time in that range, so that not every server in a server farm is running the scheduled job at the same time. For example, if you set usage analysis processing to be done during the range 1:00 AM to 2:00 AM, then each front-end Web server starts processing usage analysis sometime between 3:00 and 5:00 AM.

There are also SharePoint components that use a Timed Job and can be controlled using the command-line tool. For example, the commands "setpolicyschedule", "setcontentdeploymentjobschedule", and "setsitedirectoryscanschedule" are components that support the Timed Job infrastructure. Each of the commands accepts a "-schedule" parameter (named "recurrence string" or "schedule" in the help function of stsadm) that is a free string of the form:

"[Time frame] [Interval] between [value] and [value]"

For example:

"every 10 minutes between 0 and 59" "hourly between 0 and 59" "daily at 21:00:00" "weekly between Mon 02:00 and Fri 21:00:00" "yearly at Dec 31 22:00:00"

The syntax looks like this:

stsadm -o setcontentdeploymentjobschedule -schedule "daily at 21:00:00"

Referenced Blogs:

http://technet.microsoft.com/en-us/library/cc678870(TechNet.10).aspx

http://www.codeguru.com/cpp/misc/misc/microsoftofficeoutlook/print.php/c14133

blog comments powered by Disqus