Autoforecast
The autoforecast functionality gives you a preview of future activities within a certain time frame in your system. Autoforecasts can be created either manually or using a script.
This page includes the following:
Overview
Forecasts focus on objects and tasks while autoforecasts aim at periods of time. Autoforecasts tell you which tasks will run on a particular date, time, or period of time. This allows you to plan maintenance activities, notify users in time, optimize the start times of critical processes, and so on.
The autoforecast functionality takes a date/time frame as input (for example, 2022-09-29 03:00:00 to 2022-06-30 06:00:00) and returns all tasks with a logical start date within that period. It also informs you about the expected runtime and end time of each task. To do so, the autoforecast simulates the execution by running the Scheduled jobs as it would occur in reality. It does not use the real job scheduling engine, though. The simulation considers neither previously simulated runs nor the history of Job executions. Instead, it uses estimated runtimes calculated from the latest 25 runs of the selected tasks.
Notes:
-
Only users who have been assigned the Access to Autoforecast privilege can execute this function.
-
The maximum number of tasks that can displayed here is limited by the GENERIC_AUTO_FORECAST_LIMIT key defined in the UC_SYSTEM_SETTINGS variable in Client 0. If this value definition is too small, or if the Autoforecast has data for a lot of days, not all objects can be displayed, see GENERIC_AUTO_FORECAST_LIMIT.
Prerequisites
-
The system administrator must have defined the AUTO_FORECAST_DAY key in the UC_CLIENT_SETTINGS variable. The key specifies the period of time for which forecasts will be calculated, starting from the current date/time. For more information, see AUTO_FORECAST_DAYS.
-
The autoforecast cache must have been calculated for the desired timeframe.
Restrictions
The result of autoforecast queries depends on the calculation period and on the interval in which tasks are executed. For Schedules, this is the period length; for Events, the time interval. The following limitations apply:
- With the exception of Events, only tasks planned within Schedules are considered
- Tasks that are activated through other tasks (ACTIVATE_UC_OBJECT) are not included
- It is not possible to identify dependencies of tasks on other tasks
- Modifications of attributes during runtime are not taken into account
Note: Event forecasts are calculated only once a day, even if the event runs more than once a day.
Two Phases to Create the Autoforecast
Performing this simulation on a Client with many scheduled objects can take a long time and may severely impact system performance. To mitigate these issues, the autoforecast generation process is two-fold:
-
The system (re)calculates an autoforecast cache for the time frame defined in the AUTO_FORECAST_DAYS variable by going through all objects scheduled for that time frame and creating dedicated forecast records for them, see AUTO_FORECAST_DAYS.
The cache generation is an extensive computation and should be run at off-peak times for clients with many scheduled objects.
-
All autoforecast queries are run against this cache. This ensures the fast execution of the queries and means that you can query within the time frame of your autoforecast cache. Furthermore, the autoforecast will not reflect schedule changes that happen after the autoforecast cache has been generated.
See also:
Script functions: