Prestart jobs

A prestart job is a batch job that starts running before a work request is received. The prestart jobs are started before any other types of jobs in a subsystem. Prestart jobs are different from other jobs because they use prestart job entries (part of the subsystem description) to determine which program, class, and storage pool to use when they are started.

Within a prestart job entry, you must specify attributes that the subsystem uses to create and manage a pool of prestart jobs. Use prestart jobs to reduce the amount of time required to handle a work request. Two types of prestart jobs exist. Each type handles different types of requests. Before a job waits for its first request, it will be shown as Prestart only because the system does not know yet what type of requests the job will handle.
Prestart communications
The job is a communications batch job that starts running before a remote system sends a program start request.
Prestart batch
The job is a batch job that starts before a work request is received.

A prestart job starts before a work request is received, either when the subsystem starts or as a result of the Start Prestart Jobs (STRPJ) command. Prestart jobs start from a prestart job entry (PJE) in the subsystem description. The prestart job entry specifies attributes such as what program to run in the prestart job, the user profile under which the prestart job starts running, the job description, the class used to specify the run-time attributes of the job, and the memory pool in which the prestart job runs.

Prestart jobs can start and initialize themselves before a work request is received. This reduces the amount of time required to handle the requests. Prestart jobs provide the ability to initialize once and handle many requests so that a new job is not needed for every request. Many client server applications use prestart jobs to handle the requests for the client user. Having a job ready to go makes the performance better in this situation because the prestart job can start processing the request for the user immediately.

Note: The value specified for the maximum number of jobs in the subsystem can prevent prestart jobs from starting. If the maximum number of jobs in the subsystem is exceeded, no prestart jobs can be started. When enough jobs have completed so that the number of jobs running is below the maximum number of jobs in the subsystem, prestart jobs in the subsystem can start.

Program Start Requests

A Program Start Request (PSR) is an architected way for SNA clients to connect to an SNA server. When a prestart job is set up to handle PSRs, the external state of the job is in PSRW (Program Start Request Wait).

Prestart jobs are also used for IBM-supplied TCP/IP servers, most notably the host servers. These prestart jobs accept work via internal interfaces and PSRs are not used. However, prestart jobs that are waiting for work, even if they are not using PSRs, still show a PSRW state.