Forecasting Logic

  1. Forecasts are determined on a user-configurable frequency. The default is 5 minutes. The first time the forecast is calculated it forecasts jobstreams for the entire forecast interval (by default, 24 hours.) Forecasting is calculated only for the jobstreams which are marked "forecastable." After the first calculation, at every interval forecasts are updated for the next delta. For example, if the first forecast is at 10:00 a.m. Tuesday for the next 24 hours, then the forecast will be generated from 10:00 a.m., Tuesday to 10:00 a.m., Wednesday. After five minutes, however, the next interval forecast calculation will be generated from 10:00 a.m., Wednesday to 10:05 a.m., Wednesday.

  2. When a "forecastable" jobstream is added, or updated (edited) the forecast calculation runs for that jobstream. When a "forecastable" jobstream is deleted then it is removed from the list of the forecasts.

  3. AutoSys/CA7: When the nightly converter runs, forecast calculations are run again at the end of the cycle.

  4. TES: Each time the Jammer runs, forecast calculations are run again at the end of the cycle.
  5. AutoSys: If a status of the job is changed to/from on_hold, on_ice, off_hold, off_ice, then the forecast calculation is run on the "forecastable" jobstreams of which the job is a member. The forecast is initiated by AAI, Jammer in this case.

  6. If a jobstream is supposed to run at the current time but it hasn't started, then an alert, if set, is sent: Jobstream Not Started. A tolerance of finish to start latency is used to check the nearby start time. If a real run is found, the forecasted run is expired (removed from the list). A jobstream is kept in the list if there is no real run, for a forecast expiration interval.

  7. The tolerance for when to send the jobstream Not Started alert is the average finish to start latency (stored in the JawsJobAverage table) of the starter job (first job in the jobstream) or 60 seconds (whichever is greater).

See also:

Forecasting Jobstream Runs