Prerequisite Check before Job Submission

Each active job is checked for its prerequisites before it can be submitted. The job can only be started if all defined prerequisites are available at the same time. The prerequisite checking of an active job is repeated until all defined prerequisites are available, but only before its latest start time is reached.

The following prerequisites must be met before a job can start running:

  • The start and end times defined for a job or network must be reached.

  • The input conditions defined for the job must be fulfilled.

  • The resources defined for job usage must be available.

  • Operating-system specific objects defined for a job (for example, a BS2000 user switch) must be available.

  • The execution node defined for the job or network must be available.

Entire Operations uses several procedures to reduce the effort involved for the prerequisite check. These procedures are transparent to the user. Nevertheless, they are explained in the following section.

For information on actions Entire Operations performs after job termination if specified events occur, see Events and Actions: End-of-Job Checking in the Concepts and Facilities documentation and Defining and Managing End-of-Job (EOJ) Checking and Actions.

This document covers the following topics:

Related Topics:


Order of Prerequisite Checking

The sort order of prerequisite checking is:

  1. Earliest start time;

  2. Owner, network, run, job.

The sort is only applied to jobs, which reside within the prerequisite check input queue at the same time.

Passive Wait

Active jobs waiting for one or several input conditions, resources or for the availability of an operating system server (node) are placed into a particular queue, which removes them temporarily from the active check carried out by the Monitor.

Active jobs are woken up (released) from a passive wait state:

  • During setup or deletion of active prerequisites at any location;

  • During setup or deletion of resources at any location;

  • After modification or deletion of definitions for input conditions and resources in active jobs;

  • During Monitor start;

  • When the date changes;

  • By explicit request; see Special Functions in the Administration documentation.

After wake-up, an active check of the prerequisites, resources and operating system server is performed again. If the prerequisites required for job start are not met, then another passive wait can result out of this.

Note:
The main passive wait release routine does not reactivate the waiting jobs at the same time. Instead, it performs the release in portions of 300 jobs. Between the portions, there is a wait of 30 seconds. This spreads the Monitor and database activity for the prerequisite check of a large number of jobs over a longer period of time.

Course during Passive Wait for Prerequisites

The following graphic shows the course during passive wait for prerequisites:

graphics/overview_passive_wait.png

Legend

graphics/overview_number_1.png

A network has been activated and job processing is controlled by the Monitor.

graphics/overview_number_2.png

The prerequisites of a job are checked after job activation.

If a prerequisite is not met (for example, the execution node defined for the job is not available), the prerequisite check stops at the position where it failed.

graphics/overview_number_3.png

The job is placed into an active wait state waiting for the next check to meet the required prerequisite.

The next check continues at the position where the previous check failed.

graphics/overview_number_4.png

The Monitor determines how long to wait for the missing prerequisites before it places the job into a passive wait state.

graphics/overview_number_5.png

A trigger routine reactivates the job if the criteria defined to reactivate the job are met (for example, the missing execution node is available now), and forces the job back to active checking.

The check procedure (from active to passive wait and vice versa) can repeat several times.

graphics/overview_number_6.png

If all prerequisites are met, the job is submitted for execution.

Note:
Each time the Monitor is started, all jobs in the passive wait queue are reactivated for another prerequisite check.

Exceptions from Passive Wait

A job cannot be placed into a passive wait state in the following cases:

  • Waiting for an input condition which depends upon the existence of a file;

  • Waiting for an input condition which depends upon the result of a user exit.

In these cases, Entire Operations cannot acknowledge on its own when such a job is to be placed again into the active wait. Therefore, in such a case, an active job is not placed into the passive wait.

Nevertheless, at least for part of the wait, a passive wait can also be carried out for these jobs, if, in parallel to the above mentioned cases, they are waiting for a normal prerequisite, which is set up as shortly as possible before job submission.

In other words: it is recommended to replace a wait for prerequisites with special dependencies by a wait for normal prerequisites.

Prerequisite Check according to the Round-Robin Procedure

If prerequisites and resources of an active job are actively checked, then the order of the job checks will be optimized dynamically.

For a follow-up check, the last unsuccessful check will be the starting point. This prevents successful checks from being redundantly repeated several times. It is guaranteed, however, that immediately before the job start release all input conditions and resources have been checked together at one point in time.

The following diagram shows the course of the Round-Robin Procedure for the check of prerequisites and resources:

graphics/overview_prerequisite_check.png