Catch Up Policy
This article is a technical discussion of how Presence deals with the Catch Up option in Schedule Nodes.
Catch Up policy affects the behaviour of the Schedule the first time it is used within the context of a Task, or when the Server has been inactive for a time. If Catch Up is enabled and a schedule should have run in the past, but failed to do so because the server wasn't running, or if the schedule didn't exist, the schedule will still trigger.
Each Schedule maintains a next run time which is associated with the Task in which the Schedule appears. If the following criteria are met:
- Next run time has been set
- Catch up is off
- Next run time is in the past but less than 30 minutes ago
then the next run time to set to zero (i.e. in the past) so we can recalculate, ensuring the Task runs at the scheduled time in the future.
If the next run time is zero then calculate the next time to run (either from the start date if catchup is on, or from the current time if it is off).
In summary this translates to:
- If catch up is on and the next time to run is over 30 minutes ago, the schedule will run.
- If catchup is off,then the next time to run will be recalculated from now.
If the schedule has no next time to run, (ie it has never been calcluated), then the next time to run will be calculated from the start date, if catchup is on, or from the current time if it is off.
If you are still confused, you're not alone. Please email us if you have any questions.