Create or cancel a schedule.
A schedule is a request to run an action in the future.
The action to be run is identified using the "run" next step.
Use the "success" next step to continue process flow after setting or cancelling a schedule.
The timing is identified using data properties or config parameters.
|dataReference||Reference to data area containing the schedule. Each separate schedule needs its own data area.|
|start||An ISO 8601 timestamp which indicates when the schedule should start, or an ISO 8601 duration which specifies the delay from now when the schedule should start. Defaults to now.|
An ISO 8601 duration specification for how often the schedule should repeat. If omitted, the schedule does not repeat.
|count||If interval is set, how many times the schedule should repeat. Default value of 0 means an unlimited number of times.|
|end||If interval is set, an ISO 8601 timestamp at which point the schedule should stop (irrespective of the number of repeats), or a duration relative to the start time. If omitted, the schedule repeats until the repeat count is reached, or if there is no repeat count the schedule continues until it is cancelled.|
|cancel||Set to true to cancel the schedule.|
This has the same meaning as remote in set.
Can only be set in config.
Same usage as set step, indicates which properties can be passed in the parameters. This supports dataReference, start, interval, count, end and cancel.
Can only be set in config.
Scheduling a service to run with no delay (the default) will run the process in the background.
Runtime placholders are supported.
The schedule uses a background processing queue that runs with low priority. As a result, the actual time a process may run will typically be about 1 minute after it has been scheduled, and sometime much longer. This means that processes will start slightly later than specified, intervals will be slightly longer than specified, and the processes may, occasionally, start after the end. In most scenarios these delays will not be significant.
How the schedule works
When the schedule step is run the schedule is initiated. A data area is created which holds the number of repeats and the end timestamp. The schedule step is scheduled to run again after the delay. The state is set to "success" to indicate that the step has successfully scheduled the action.
When the step is run from a schedule, the data area is queried to read the repeats and the end timestamp. Assuming repeats is greater than 1 or zero, a new timestamp for the action is calculated using the interval. If this is before the end time, the action is scheduled to run again, and the repeats value is decremented. If no repeats are required, the data area is deleted. Whether or not another iteration was scheduled, the state is set to "run" to indicate that the next step should now run.
A cancel schedule step will cancel the schedule associated with the dataReference.
Attempting to create a schedule that is already created will not duplicate the schedule. It may reset the repeat count and end timestamp, though this behaviour should not be replied upon.
Member Type List