Overview
Four methods are available for displaying forecasting information on time-based triggers (Time, Cron, and Temporary) and the tasks they launch:
- Displaying Trigger Forecast Information#Forecast Calendar displays a calendar showing tasks scheduled to run based on Time, Cron, and Temporary triggers. Where data is available, the estimated end time for each task also is calculated and displayed.
- Displaying Trigger Forecast Information#Forecasts List displays a sequential list of the tasks shown in the Forecast Calendar.
- Displaying Trigger Forecast Information#Next Scheduled Time field in Time, Cron, and Temporary trigger Details identifies the next time a trigger will launch its task(s).
- Displaying Trigger Forecast Information#List Qualifying Times button in Time and Cron triggers Details displays a list of the next 30 qualifying dates and times.
Each of these methods is described below.
See Forecasting a Workflow for a Specific Date/Time for displaying Workflow forecast information.
Forecast Calendar
For enabled Time, Temporary, and Cron triggers where forecasting has been specified, Universal Controller writes an entry to the Forecast Calendar (and the Forecasts List) for each time that a trigger task is scheduled to run within the next N days, where N is the forecast period specified in the Forecast Period in Days Universal Controller system property.
To display the Forecast Calendar, from the Automation Center navigation pane select Triggers > Forecast Calendar.
To display Details about an entry in the Forecast Calendar, click the entry. A Forecast Details pop-up displays. (You also can display Forecast Details by clicking an entry in the Forecasts List.)
To refresh the forecast data (for the displayed month only), click the Refresh icon.
Forecasts List
The Forecasts list displays information about every entry in the Forecast Calendar, plus information on tasks within a Workflow launched by a trigger.
To display the Forecasts List, from the Automation Center navigation pane select Triggers > Forecasts.
To display the Details about a Forecast in the list, either:
- Click the Details icon next to the Trigger Name to display a Forecast Details pop-up.
- Click the Forecast entry in the list to display the Forecast Details below the list.
(You also can display Forecast Details by clicking an entry in the Forecast Calendar.)
Forecast Details
Forecast Details displays information about the task, workflow, agent, and trigger associated with a trigger Forecast.
(For a workflow, only details about tasks and triggers are available.)
You can displays Forecast Details either by:
- Clicking an entry in the Forecasts Calendar.
- Clicking an entry in the Forecasts List.
Click the Details icon next to any field to view Details of that record.
See the field descriptions below for a description of all fields in the Forecast Details.
Forecast Details Field Descriptions
The following table describes the fields and tabs that display in the Forecast Details.
Field Name | Description |
---|---|
Details | This section contains detailed information about the forecast. |
Task | Name of the task selected in the Forecast Calendar. The icon is a link to the Task Details for this task. |
Task Type | Task type of this task. |
Workflow | For tasks included in a Workflow: Name of the Workflow in which this task is included. The icon is a link to the Workflow Details for this Workflow. |
Member of Business Services | One or more Business Services that this task belongs to. |
Trigger | Name of the trigger that will launch this task (or the Workflow in which this task is included). The icon is a link to to the Trigger Details for this trigger. |
Launch Time | Calculated start time of this task. |
End Time | Calculated end time of this task. |
Run/Skip Evaluation | Evaluation, based on run/skip criteria specified for this task via the Workflow Task Details, of whether this task will run or skip when the Workflow is run.
Tasks, including Workflows, launched directly by the trigger will always have a run/skip evaluation of Run. Likewise, tasks within a launched Workflow that do not have any run or skip defined will always have a run/skip evaluation of Run. |
Simulation | Indication of whether or not this forecast is based on the simulated launch of this trigger. |
Agent | Name of the Agent resource record that identifies the machine where the task will run. |
Agent Variable | Variable that will be resolved at run time to the name of the Agent resource that identifies the machine where the task will run. |
Agent Cluster | Name of the Agent Cluster resource record from which an Agent that identifies the machine where the task will run on is selected. |
Agent Cluster Variable | Variable that will be resolved at run time to the name of the Agent Cluster resource from which an Agent that identifies the machine where the task will run on is selected. |
Cluster Broadcast | Name of the Agent Cluster resource record that specifies the group of Agents to broadcast to. At launch time, an instance of the task will be created for each Agent in the cluster. Each instance displays separately in the Activity Monitor. |
Cluster Broadcast Variable | Variable that will resolve at launch time to the name of the Agent Cluster resource record that specifies the group of Agents to broadcast to. At launch time, an instance of the task will be created for each Agent in the cluster. Each instance displays separately in the Activity Monitor. |
Tabs | This section identifies the tabs across the top of the Forecast Details that provide access to additional information about the forecast. |
Child Forecasts tab | For Workflows only; Displays a list of forecast information for tasks within this Workflow (see Forecast List, below). |
Forecast Calculation
As the tasks are run, the Controller calculates the end time of each Forecast entry. The calculation is the average run time, based on task instances that already have run. This information is updated each time you display the forecast.
As task instances run within the Controller, task instance durations are collected, allowing the Controller to calculate their average run time. The average run time is used to determine the estimated end time provided on each Forecast entry. For task instances that run within a triggered Workflow, an average start offset within the Workflow, along with the average run time, are used to determine the estimated launch time and end time.
To reset the statistics information collected by the Controller for a particular task or Workflow, use the Reset Statistics command under Task Permissions.
Forecast Re-Calculation
Certain changes in the system will automatically cause a re-calculation of forecast data. However, not all changes will result in immediate re-calculation.
Changes to the Details of an enabled trigger that impact the schedule of that trigger or the tasks launched by that trigger will result in an immediate re-calculation of the Forecast data for that trigger.
Changes to the agent, agent variable, agent cluster, agent cluster variable, or broadcast cluster fields of a task will be reflected immediately in the any forecast data referring to that particular task.
Changes to the Details of a Workflow launched by a trigger or a calendar used by a trigger (including the custom days within the calendar) will result in the forecast data of an associated trigger being flagged for re-calculation, as indicated by the Forecast Recalculation Required field. Any forecast data flagged for re-calculation will be re-calculated automatically at 12:00 a.m. (midnight) daily.
Whenever Override Calendar options are modified for a workflow, any forecast data associated with that workflow will be flagged for recalculation at the midnight refresh.
Statistics for a particular task may not be available at the time the original forecast calculation occurs. Therefore, the accuracy of estimated end times for triggered tasks, as well as the estimated start and end times of tasks launched within a triggered Workflow, may be inaccurate. The current accuracy of a Forecast record is indicated by the End Time Accuracy field. The End Time Accuracy is based upon the number of task instance runs for which historical data has been collected at the time of forecast calculation. It can have one of the following values.
Runs | Accuracy |
---|---|
0 | 0 |
1 | Low |
2-9 | Medium |
10+ | High |
Any Forecast data with accuracy that can be improved significantly through re-calculation will be re-calculated automatically at 12:00 a.m. (midnight) daily.
For any Forecast data for which you wish to force an immediate re-calculation, use the Recalculate Forecast command from the Trigger record or from the Workflow record.
Note
By default, the Forecast Recalculation Required and End Time Accuracy columns are not included in the Forecasts list. However, you can add them to the list.
Setting up Forecasting
Warning
We strongly discourage enabling forecasting for very frequent and predictable trigger schedules.
For example, if you enable forecasting on a trigger that runs every 30 seconds, that would generate - at a minimum - 89,280 forecast records, based on the default configuration of 31 days of forecasting. If that trigger launches a Workflow task, it would generate an extra 89,280 forecast records per task within the workflow.
For these types of triggers, the forecast feature does not provide much insight, yet it requires a very large amount of processing to compute.
Use the following points as a checklist when setting up forecasting:
- Forecasting is supported for the following trigger types: Time, Temporary, and Cron.
- In the trigger Details, enable the Forecast field.
- Specify the number of days for which you want scheduled tasks to display in the Forecast Calendar / Forecast List (default is 31):
- From the Administration navigation pane, select Configuration > Properties. (You need administrative privileges to access this function.)
- Click Forecast Period In Days Value column and enter the number of days you want in the forecast period.
- Enable the trigger. (Disabling the trigger removes all related entries from the Forecast calendar / Forecast list.)
Next Scheduled Time
For enabled Time, Temporary, and Cron triggers, the Controller calculates the next scheduled time and displays it on the Triggers list, as well as on the All Triggers and Active Triggers lists, for those trigger types.
The next scheduled time also displays in the trigger Details:
Overdue Timers
If the Controller has been stopped for a significant amount of time (more than two days), upon start-up, and under certain conditions, overdue Triggers could be ignored and disabled. If a Trigger's timer (the Trigger's next scheduled time) is considered "stale/expired," the timer will be ignored and the associated Trigger will be disabled.
If this occurs, there will be log messages similar to the following:
Found overdue timer exceeding restart threshold limit of 2 days. Timer overdue by: 3 Days 1 Hour 57 Minutes 52 Seconds (2016-06-27 14:15:00 -0400) **** Timer is being cancelled *** TriggerTimerHandlerBean [...] Disabling Trigger since stale timer was found and the next scheduled time was stale TimeTriggerBean [...]
A "stale/expired" trigger is calculated based on the value of the uc.overdue.timer.startup.threshold Universal Controller start-up property (default is 2 days). If the default is specified, any enabled Trigger with a next scheduled time older than two days will be considered "stale/expired."
The property can be changed to a larger amount to avoid this behavior, if desired.
List Qualifying Times
For Time and Cron triggers, you can display a list of dates and times for when the trigger (if enabled) will be satisfied.
Note
This list differs from the Forecasts list, which shows scheduled task instances as opposed to qualifying times.
Step 1 | In the trigger Details for a Cron or Time trigger, click the List Qualifying Times button. A List Qualifying Times Input pop-up dialog displays. |
---|---|
Step 2 | In the Number of Dates/Times field, enter the number of dates and times that you want to be listed (default = 30, maximum = 1000). |
Step 3 | Enter / select a Start Date from when you want the list of Dates and Times to begin. |
Step 4 | Click the Submit button to display a table of Qualifying Dates and Times. |