The autoforecast function gives you a preview of future activities within a certain time frame in your system. The AutoForecast page in the Process Monitoring perspective allows you to recalculate forecasts (a prerequisite for autoforecasts) and to filter the outcome for a better overview of the results.
Whereas forecasts focus on objects and tasks, autoforecasts aim at periods of time. You may want to know 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, etc.
An autoforecast takes a date/time frame as input (e.g. 2016-09-29 03:00:00 to 2016-06-30 06:00:00) and returns all tasks that have their logical start date within that period. It also informs you about the expected runtime and end time of each task.
An 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.
Note: Only users who have been assigned the Access to Autoforecast privilege can execute this function.
Two Phases to Create the AutoForecast
Performing this simulation on a Client with many scheduled objects can take a long time and may impact system performance severely. To mitigate these issues, the autoforecast generation process is two-fold:
Calculate/Recalculate the autoforecast Cache.
The system calculates an autoforecast cache for the time frame defined in AUTO_FORECAST_DAYS (see below) by going through all objects scheduled for that time frame and creating dedicated forecast records for them.
The cache generation is an expensive computation and should be run at off-peak times for clients with a lot of scheduled objects.
All autoforecast queries are run against this cache.
This ensures the fast execution of these queries, but it also 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.
Autoforecasts are created either manually in the Process Monitoring perspective or via a script.
Your system administrator has defined the following keys in the UC_CLIENT_SETTINGS variable:
The Prefix that is used in the name of AutoForecast objects to tell them apart from user-created Forecast objects.
The naming pattern for AutoForecast objects is:
Specifies the period of time for which forecasts will be calculated, starting from the current date/time.
The Auto Forecast cache has been calculated for the desired timeframe.
The result of autoforecast queries depends on the one hand on the interval in which tasks are executed. For schedules, this is the period length; for events, the time interval. On the other hand, it depends on the calculation period.
Note: One forecast per day is created for events even if the events run every 15 minutes.
The following limitations apply:
- With the exception of events, only tasks planned within Schedules are considered.
- Tasks that will be activated through other tasks (e.g. 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.