Edit Job Scheduling Rules

When editing a job's scheduling rules, you can choose from five primary scheduling rule types: Daily, Weekly, Monthly, Interval, and Custom. Each scheduling rule type has unique scheduling properties. Here are some of the scheduling properties that are common to all rule types:

Next Run Date

This field specifies the date and time when a job will run. It can't be manually edited by a user. It can only be calculated by the JobServer's Scheduling engine based on the scheduling rules and related properties.

Last Run Date

This field typically defines the last date/time the job was run. Initially, when a job is created, this field will not be set. When a job runs on a scheduled time this field will reflect the date/time that the job last ran on. Note, you should not depend on this field as it can be edited by the user, although normally it will reflect the last time the job was scheduled to run.

Schedule Status

A job has three possible states: active, paused, and stopped. Active means the job will be run by the Scheduling Engine when the next run date is reached. Stopped means the job will not run at all. Paused is similar to stopped in that it does not allow a job to run. But when a job is activated from a paused state it will continue running as if it had not stopped, so it will not miss any possible scheduled times that happened between the time it was paused and re-activated.

A job can be put into paused state from an active state. When a job is paused its schedule is suspended until the job is made active again. When it is made active again, it will pick up where it left off. Note, that a stopped job can't be paused. This restriction is necessary because pause and stop impact the next run date in different ways when a job is re-activated. A paused job that is activated will pick up running where it left off, even if its next run date is in the past (as if it was never suspended). A stopped job that is activated, will jump to the next valid run date that is in the future.

Scheduling Types

Description of the different scheduling types:

Daily

Allows running a job on a daily pattern. A job can be run every "X" days. The "Start Date" defines the day the job should start on. Note, that the actual start date may be different as it is calculated using other variables. The "Reoccur Time" defines at what time of day the job should run on. The job will run at this time of the day on a reoccurring basis.

You can define special Include times and Exclude time ranges. These features allows for one-off inclusion or exclusion of specific times and time ranges, respectively. Other advanced scheduling features are described here.

Weekly

Allows running a job on a weekly pattern. A job can be run every "X" weeks. The "Start Date" defines the day the job should start on. Note, that the actual start date may be different as it is calculated using other variables. The "Reoccur Time" defines at what time of day the job should run on. The job will run at this time of the day when it does run. You can select one or more days of the week that the job should run on.

You can define special Include times and Exclude time ranges. These features allows for one-off inclusion or exclusion of specific times and time ranges, respectively. Other advanced scheduling features are described here.

Monthly

Allows running a job on a monthly pattern. A job can be run every "X" months. The "Start Date" defines the day the job should start on. Note, that the actual start date may be different as it is calculated using other variables. The "Reoccur Time" defines at what time of day the job should run on. The job will run at this time of the day when it does run. You can choose one or more days of the month to run on (1-31). If you choose 31 and the month only has 30 days then the job will run on the 30th. In addition, may also choose up to five monthly rules like "first Friday of the month" or "second Tuesday of the month".

You can define special Include times and Exclude time ranges. These features allows for one-off inclusion or exclusion of specific times and time ranges, respectively. Other advanced scheduling features are described here.

Interval

This scheduling type is most useful when needing to run jobs multiple times in a day. jobs can be run at the granularity of minutes or hours. For example, you can have a job run every 10 minutes or every 10 hours. Note, that unlike Daily, Weekly and Monthly, Interval does not have a "Reoccur Time", as it is not applicable here.

With this type, a job can be run using "absolute scheduling" or "relative scheduling". By using the "Use Absolute Scheduling" check box you can choose between the two. Absolute scheduling means the the job will run relative to the original start time, so if the job has a start time of 10:00 AM and the interval is one hour then the job will run at the top of every hour. With this same example, if relative scheduling is used, the job will still run every hour but it may or may not run at the top of every hour as it will run one hour from the last time it ran last.

You can define special Include times and Exclude time ranges. These features allows for one-off inclusion or exclusion of specific times and time ranges, respectively. Other advanced scheduling features are described here.

Custom

This type can be used when all the others do not apply. This is typically used when there is no pattern that can be represented using the other types. For example, say you want a job to run on your company's business holidays. You can enter as many arbitrary dates as you wish. Read more.