Wednesday, February 8, 2012

Talking about SPSchedule


The SPSchedule class allows one to specify repeating schedules for timer jobs using derived classes such as SPMinuteSchedule, SPHourlySchedule, etc. Those are pretty easy to figure out from the SDK (http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spschedule.aspx). 

SPSchedule also provides a FromString(recurrenceValue) method that allows you to specify the same kinds of schedules from a text string, but allowable formats for the recurrenceValue string are not well documented.  Here are legal formats I’ve discovered through testing.

Formats Used Below

Format
Description
Allowable values
m
minutes
0-59
s
seconds
0-59
ddd
abbreviated name of day of week
mon, tue, wed, thu, fri, sat, sun
d
numeric day of month
1-31
mmm
abbreviated name of month
jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec
HH:MM:SS
Time of day as hours, minutes, seconds using 24 hour-clock.
00:00:00 - 23:59:59

Minute Schedule

Syntax
Description
every Interval minutes
Repeat every Interval minutes (starting at 0 seconds)
every Interval minutes at Begin
Repeat every Interval minutes starting at Begin seconds
every Interval minutes between Beginand End
Repeat every Interval minutes starting between Begin and Endseconds

Parameter
Format
Sample
Interval
m
every 15 minutes
Begin
s
every 15 minutes at 0
End
s
every 15 minutes between 0 and 15

Hourly schedule

Syntax
Description
hourly at Begin
Repeat every hour starting at Begin minutes
hourly between Begin and End
Repeat every hour starting between Begin and End minutes

Parameter
Format
Sample
Begin
m
hourly at 1
End
m
hourly between 1 and 10

Daily schedule

Syntax
Description
daily at Begin
Repeat every day starting at Begin time
daily between Begin and End
Repeat every day starting between Begin and End times

Parameter
Format
Sample
Begin
HH:MM:SS
daily at 09:00:00
End
HH:MM:SS
daily between 09:00:00 and 17:30:00

Weekly schedule

Syntax
Description
weekly at Begin
Repeat every week starting at Begin day and time
weekly between Begin and End
Repeat every week starting between Begin and End day and times

Parameter
Format
Sample
Begin
ddd HH:MM:SS
weekly at mon 09:00:00
End
ddd HH:MM:SS
weekly between mon 09:00:00 and fri 17:30:00

Monthly schedule

Syntax
Description
monthly at Begin
Repeat every month starting at Begin day of month and time
monthly between Begin and End
Repeat every month starting between Begin and End day of month and times

Parameter
Format
Sample
Begin
d HH:MM:SS
monthly at 1 09:00:00
End
d HH:MM:SS
monthly between 1 09:00:00 and 15 17:30:00

Yearly schedule

Syntax
Description
yearly at Begin
Repeat every year starting at Begin month, day of month and time
yearly between Begin and End
Repeat every year starting between Begin and End month, day of month and times

Parameter
Format
Sample
Begin
mmm d HH:MM:SS
yearly at jan 1 09:00:00
End
mmm d HH:MM:SS
yearly between feb 1 09:00:00 and apr 15 17:30:00

No comments:

Post a Comment