Executing Schedules
When you start a Schedule its status is Active; its tasks are processed according to their period and period turnaround.
How Tasks in a Schedule are Processed
When the Schedule is activated, it checks the start times of all its tasks. There are two possibilities:
- The start time of a task lies in the future.
The status of the task is set to Waiting for start time. When the scheduled time arrives, the task is initiated.
- The start time of a task lies in the past.
The status of the task is set to ENDED_TIMEOUT -Start time exceeded. You have to reset it; as a result, it executes immediately.
When tasks start, all conditions and dependencies are checked, that is, calendars and assigned Sync objects, if any. Depending on the results of these checks, the tasks start or not and their status are set accordingly.
During their execution, their runtime is monitored. This allows you to tell the Schedule how to react in case the result is not the one you expected.
Checking Schedules on Start
When the Automation Engine starts, it checks whether an active turnaround period took place in the past. If that is the case, it will run as many periods as necessary until it reaches the first one in the future. Only then it checks again whether there are scheduled tasks with a start time in the past. If there are any, their status is set to ENDED_TIMEOUT -Start time exceeded.
Monitoring and Modifying the Schedule
You can check the status of tasks that are stored in a Schedule object in the Process Monitoring perspective and modify their definitions. Changes to the task and task properties that you make directly in the Schedule can also be passed on to the next period turnaround. Note that in this case, it is not required to restart the schedule. You can also start tasks immediately, regardless of their current states, start times or start conditions.
Execution Data
Each period of a schedule has its own Execution data record. This implies that a new RunID is assigned with each period turnaround.
What Happens when the Execution of a Schedule is Stopped?
You can stop and restart an active schedule at any time. If you choose to Suspend it, no further tasks are started. If you go for Suspend (recursive), the tasks that are still running in active workflows will continue running but all subsequent tasks will be stopped.
The execution of a schedule object can stop in two ways with different implications in both cases:
- Manually, either from the Last Monitor or from the main window in the Process Monitoring perspective, or from the Process Assembly perspective.
You can right-click the active schedule and select one of the available options that will stop it.
The schedule is ended immediately. Its tasks are displayed on the Tasks window (Process Monitoring) without their parent task (the schedule).
- Due to a period turnaround
If a schedule object is still active and its tasks are being executed when a period turnaround takes place, the following occurs:
- A new instance of the schedule is created for the new period.
- The tasks of the old instance that have not finished yet continue running in the new Schedule instance
- The tasks of the old instance that had already finished are available and displayed on the Tasks list as single tasks; their execution data is still available.
Monitoring Schedule Executions
You can check the status of the tasks included in a Schedule at any time, also while they are being processed.
See also: