Advanced Scheduling Options

The scheduling rules types Daily, Weekly, Monthly, and Interval have additional scheduling properties that can be set using the advanced settings interface. There are four advanced settings that can be edited. They are:

Skip-Ahead Rule

This features defines what a job does if it falls behind in its schedule. Normally this feature does not come into play. But for example, if a daily job is configured to run every day at 6:00PM but the JobServer is down for 3 days due to say a hardware problem. When the JobServer is started the job will get kicked off, since its next run date has long past. Now this is when the Skip-Ahead feature comes into play. If this field is set, then after the initial run, the job will "skip" ahead to the next valid run date that is in the future. If it is not set, then it will run two additional time for the two other days it should have run (it does not skip to the next run date in the future but instead continues to run to the next valid next run date even though it is in the past). The job will keep running until it encounters a next run date that is in the future again.

End By Rule

This setting allows you to control if and how a job's schedule is terminated. By default a job does not have an end by rule; it will keep running according to its scheduling rules indefinitely. You can configure a job to end on a given date/time or you can define how many times a job should run before it stops. Once a job's end date is reached it will go into a "stop" state.

Expire Rule

Expire mode prevents a job from running if its next run date exceeds a given range of time. By default, this feature is not enabled. If enabled, it defines the amount of time from the next run date that the job must run in. For example, if a job is scheduled to run at 1:00PM and its expire time is 10 minutes and the job for some reason is prevented from running at 1:00PM but instead runs at 1:15PM then it will not run, but will instead be marked as expired and the following next run date will be scheduled instead. The expire time is in the format of "dd:hh:mm" (days:hours:minutes). So if to set it to 10 minutes the format would be "00:00:10".

Start/End Offset

This feature does not directly impact the scheduling rules of a job, but is instead passed to a job when it is run. The start and end offsets defines the amount of days that will be added/subtracted to the next run time and last run time, respectively. When a job is run, it has access to an effective date range. The last run date is the end date and the next run date is the start date. Normally, this is used to make business decisions. For example, if you have a job that runs every day and it pulls data from a database, the start date and end date can be used to access data from the database over that given date range. This can be a very useful feature for ETL type processing applications.

Reset Last Run Date

The last run date can be edited manually by a user. This feature is only necessary for a situations where the user needs to adjust the last run date that is passed to a job when it runs.