Configuring a System Schedule
Updated pdexter 2024-05-14
This article demonstrates how to set up a System Schedule, to run a process at repeated intervals for an indefinite time.
A System Schedule differs from Scheduling a Process (System Action) by
- a System Schedule process may occur one or multiple times
- a System Schedule process does not relate to a single document
Source
System Schedule Template ID : ed5a3c90-4964-11e6-ac9f-31e01f160960
Lifecycle of a System Schedule
- A user creates a System Schedule, defining what ruleset to run, and on what schedule. The first next run date is calculated and set.
- [A] The System Schedule sits on the system, waiting for the next run date.
- When triggered, the system runs the associated Ruleset.
- Once the ruleset has run, the System Schedule is updated with the last run date, and the next run date is calculated and set, according to the System Schedule's parameters.
- Repeat from [A]
Ownership Considerations
(pdexter 2024-05-14)
At present, when a System Schedule runs, it operates under the authorship of the user who last edited the System Schedule. That is, any documents created or updated will bear this user documentId as the last .systemHeader.createdBy .
Plans are in motion (not yet available) to change System Schedule to include a fixed .userId, which would then be used to author document changes under its operation.
There may also be a change made in future to be able to select the User to run under in the System Schedule form, once this architecture has been established.
Please stand by for further updates.
Steps to create a System Schedule
- Create a ruleset to be run on the schedule.
- Create a System Schedule.
Create a ruleset to be run on the schedule.
- Create a ruleset to run at the scheduled times.
It is suggested to name this such that it reflects that it is for a System Schedule, as there are no direct references stored on the ruleset.
Eg "RKR Check For Daily Driver Checksheet - Schedule" - Be aware, the ruleset will run server side only.
Note: The document that is passed to the ruleset via ntf.document
is actually the System Schedule document itself. Generally, nothing needs to be done to this document. Processes should occur against other documents in the system.
Create a System Schedule
- Create a new System Schedule document
The relative URL is /form/ed5a3c90-4964-11e6-ac9f-31e01f160960 - Nominate the ruleset to be run.
- Nominate the schedule of time to run the ruleset.
Sample System Schedule
Available Settings on a System Schedule
Field | Description |
---|---|
Schedule Name | Name of the System Schedule, for listing and reference |
Schedule Active | The System Schedule will only run if Shedule Active is checked. |
Ruleset | Selector to choose/typeahead the ruleset to be run for this Schedule. |
Recurrence | Selector to choose the general type of timing to use. Options are: Once, Interval, Daily, Weekly, Monthly, Yearly |
Manual Next Run Date | The date and time of the next scheduled run, manually set by the user. Normally blank, this lets the user define when the next run should occur, eg to debug. |
Next Run Date | The date and time of the next scheduled run. Automatically computed on save and interval selection |
Last Run Date | The date and time of the last run. Automatically set by the system |
The setting of Recurrence will then expose further fields for the setting of the schedule times, as laid out below.
Recurrence "Once"
Recurrence "Once" allows for a single run of the schedule at a set date.
Field | Description |
---|---|
Date/Time | The single date/time for the process to occur. |
Recurrence "Interval"
Recurrence "Interval" allows for a short interval schedule, in the order of minutes/hours, rather than days.
Field | Description |
---|---|
Preset Interval | A selector to nominate a preset interval. Ranges from 5 minutes to 12 hours, or Custom |
Interval | Number of minutes for the interval (if Preset Interval "Custom" selected) |
From | Optional; time of day from which to run the interval process |
To | Optional; time of day to which to run the interval process If From and To are not set, the interval runs around the clock |
Recurrence "Daily"
Recurrence "Daily" allows for a schedule of every one or more days.
Field | Description |
---|---|
Interval Days | Number of days between running the process. |
Time of Day | The time at which to run the process |
Recurrence "Weekly"
Recurrence "Weekly" allows for a schedule of one or more times every week.
Field | Description |
---|---|
Interval Weeks | Number of weeks between running the process. |
(days of week) | Which day(s) of the week to run the process |
Time of Day | The time at which to run the process |
Recurrence "Monthly"
Recurrence "Monthly" allows for a schedule of one or more times every month.
Field | Description |
---|---|
Mode | Either "days of month"¹ or "days of week"² Determines which of the following fields then display. |
Days of Month¹ | Which day(s) of the month to run the process |
On² | Select which week(s) of the month to run. |
Days of Week² | Select which day(s) of the week of above to run. |
Time of Day | The time of day at which to run the process |
Recurrence "Yearly"
Recurrence "Yearly" allows for a schedule of one or more times every year.
Field | Description |
---|---|
Mode | Either "days of month"¹ or "days of week"² Determines which of the following fields then display. |
Days of Month¹ | Which day(s) of the month to run the process |
On² | Select which week(s) of the month to run. |
Days of Week² | Select which day(s) of the week of above to run. |
Months | Which month(s) of the year to run the process. |
Time of Day | The time of day at which to run the process |