ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaii_5.4.0.1/rzaiimstprestrtjob.htm

951 lines
39 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Use of prestart jobs" />
<meta name="abstract" content="A prestart job is a batch job that starts running before a program on a remote system initiates communications with the server." />
<meta name="description" content="A prestart job is a batch job that starts running before a program on a remote system initiates communications with the server." />
<meta name="DC.Relation" scheme="URI" content="rzaiimst29.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzaiimstprestrtjob" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Use of prestart jobs</title>
</head>
<body id="rzaiimstprestrtjob"><a name="rzaiimstprestrtjob"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Use of prestart jobs</h1>
<div><p>A prestart job is a batch job that starts running before a program
on a remote system initiates communications with the server.</p>
<p>Prestart jobs use prestart job entries in the subsystem description to
determine which program, class, and storage pool to use when the jobs are
started. Within a prestart job entry, you must specify attributes for the
subsystem to use to create and to manage a pool of prestart jobs.</p>
<p>Prestart jobs increase performance when you initiate a connection to a
server. Prestart job entries are defined within a subsystem. Prestart jobs
become active when that subsystem is started, or they can be controlled with
the Start Prestart Job (STRPJ) and End Prestart Job (ENDPJ) commands.</p>
<p>System information that pertains to prestart jobs (such as DSPACTPJ) uses
the term 'program start request' exclusively to indicate requests made to
start prestart jobs, even though the information may pertain to a prestart
job that was started as a result of a sockets connection request.</p>
<div class="note"><span class="notetitle">Notes:</span> <ul><li>Prestart jobs can be reused, but there is no automatic cleanup for the
prestart job once it has been used and subsequently returned to the pool.
The number of times the prestart job is reused is determined by the value
specified for the maximum number of uses (MAXUSE) value of the ADDPJE or CHGPJE
CL commands. This means that resources that are used by one user of the prestart
job must be cleaned up before ending use of the prestart job. Otherwise, these
resources will maintain the same status for the next user that uses the prestart
job. For example, a file that is opened but never closed by one user of a
prestart job remains open and available to the following user of the same
prestart job.</li>
<li>By default, some of the server jobs run in QUSRWRK or QSERVER. Using iSeries™ Navigator,
you can configure some or all of these servers to run in a subsystem of your
choice. <ol><li>Double-click <span class="menucascade"><span class="uicontrol">iSeries Navigator</span> &gt; <span class="uicontrol">Network</span> &gt; <span class="uicontrol">Servers </span> &gt; <span class="uicontrol">iSeries Access</span></span>.</li>
<li>Right-click the server that you want to configure subsystems for and select <span class="uicontrol">Properties</span>.</li>
<li>Configure the server using the Subsystems page.</li>
</ol>
<p>If you move jobs from the default subsystem, you must:</p>
<ol><li>Create your own subsystem description.</li>
<li>Add your own prestart job entries using the ADDPJE command. Set the STRJOBS
parameter to *YES.</li>
</ol>
<p>If you do not do this, your jobs will run in the default subsystem.</p>
</li>
</ul>
</div>
<p>All of the host servers that are supported by the sockets communications
interface support prestart jobs.</p>
<p>These servers are:</p>
<ul class="simple"><li>Network print server</li>
<li>Remote command and distributed program call server</li>
<li>Central server</li>
<li>Database server</li>
<li>Secure database server</li>
<li>File server</li>
<li>Secure file server</li>
<li>Data queue server</li>
<li>Signon server (unique to servers using sockets communications support)</li>
</ul>
<p>The following lists provide each of the prestart job entry attributes,
and provide the initial values that are configured for the host servers using
sockets communications support.</p>
<p id="rzaiimstprestrtjob__SPTIDX220"><a name="rzaiimstprestrtjob__SPTIDX220"><!-- --></a><strong>Subsystem description</strong></p>
<p>The subsystem that contains the prestart job entries.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e92">Host server</th>
<th valign="top" id="d0e94">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e92 ">Network Print</td>
<td valign="top" headers="d0e94 ">QUSRWRK</td>
</tr>
<tr><td valign="top" headers="d0e92 ">Remote command and program call</td>
<td valign="top" headers="d0e94 ">QUSRWRK</td>
</tr>
<tr><td valign="top" headers="d0e92 ">Central</td>
<td valign="top" headers="d0e94 ">QUSRWRK</td>
</tr>
<tr><td valign="top" headers="d0e92 ">Database</td>
<td valign="top" headers="d0e94 ">QUSRWRK</td>
</tr>
<tr><td valign="top" headers="d0e92 ">Secure Database</td>
<td valign="top" headers="d0e94 ">QUSRWRK</td>
</tr>
<tr><td valign="top" headers="d0e92 ">File</td>
<td valign="top" headers="d0e94 ">QSERVER</td>
</tr>
<tr><td valign="top" headers="d0e92 ">Secure File</td>
<td valign="top" headers="d0e94 ">QSERVER</td>
</tr>
<tr><td valign="top" headers="d0e92 ">Data Queue</td>
<td valign="top" headers="d0e94 ">QUSRWRK</td>
</tr>
<tr><td valign="top" headers="d0e92 ">Signon</td>
<td valign="top" headers="d0e94 ">QUSRWRK</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Program library/name</strong></p>
<p>The program that is called when the prestart job is started.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e153">Host server</th>
<th valign="top" id="d0e155">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e153 ">Network Print</td>
<td valign="top" headers="d0e155 ">QSYS/QNPSERVS</td>
</tr>
<tr><td valign="top" headers="d0e153 ">Remote command and program call</td>
<td valign="top" headers="d0e155 ">QSYS/QZRCSRVS</td>
</tr>
<tr><td valign="top" headers="d0e153 ">Central</td>
<td valign="top" headers="d0e155 ">QSYS/QZSCSRVS</td>
</tr>
<tr><td valign="top" headers="d0e153 ">Database</td>
<td valign="top" headers="d0e155 ">QSYS/QZDASOINIT</td>
</tr>
<tr><td valign="top" headers="d0e153 ">Secure Database</td>
<td valign="top" headers="d0e155 ">QSYS/QZDASSINIT</td>
</tr>
<tr><td valign="top" headers="d0e153 ">File</td>
<td valign="top" headers="d0e155 ">QSYS/QPWFSERVSO</td>
</tr>
<tr><td valign="top" headers="d0e153 ">Secure File</td>
<td valign="top" headers="d0e155 ">QSYS/QPWFSERVSS</td>
</tr>
<tr><td valign="top" headers="d0e153 ">Data Queue</td>
<td valign="top" headers="d0e155 ">QSYS/QZHQSSRV</td>
</tr>
<tr><td valign="top" headers="d0e153 ">Signon</td>
<td valign="top" headers="d0e155 ">QSYS/QZSOSIGN</td>
</tr>
</tbody>
</table>
</div>
<p><strong>User profile</strong></p>
<p>The user profile that the job runs under. This is what the job shows as
the user profile. When a request to start a server is received from a client,
the prestart job function switches to the user profile that is received in
that request.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e214">Host server</th>
<th valign="top" id="d0e216">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e214 ">Network Print</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
<tr><td valign="top" headers="d0e214 ">Remote command and program call</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
<tr><td valign="top" headers="d0e214 ">Central</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
<tr><td valign="top" headers="d0e214 ">Database</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
<tr><td valign="top" headers="d0e214 ">Secure Database</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
<tr><td valign="top" headers="d0e214 ">File</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
<tr><td valign="top" headers="d0e214 ">Secure File</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
<tr><td valign="top" headers="d0e214 ">Data Queue</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
<tr><td valign="top" headers="d0e214 ">Signon</td>
<td valign="top" headers="d0e216 ">QUSER</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Job name</strong> </p>
<p>The name of the job when it is started.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e276"> Host server</th>
<th valign="top" id="d0e278">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e276 ">Network Print</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
<tr><td valign="top" headers="d0e276 ">Remote command and program call</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
<tr><td valign="top" headers="d0e276 ">Central</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
<tr><td valign="top" headers="d0e276 ">Database</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
<tr><td valign="top" headers="d0e276 ">Secure Database</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
<tr><td valign="top" headers="d0e276 ">File</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
<tr><td valign="top" headers="d0e276 ">Secure File</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
<tr><td valign="top" headers="d0e276 ">Data Queue</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
<tr><td valign="top" headers="d0e276 ">Signon</td>
<td valign="top" headers="d0e278 ">*PGM</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Job description</strong> </p>
<p>The job description used for the prestart job. Note that if *USRPRF is
specified, the job description for the profile that this job runs under will
be used. This means QUSER's job description will be used. Some attributes
from the requesting user's job description are also used; for example, print
device and output queue are swapped from the requesting user's job description.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e338">Host server</th>
<th valign="top" id="d0e340">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e338 ">Network Print</td>
<td valign="top" headers="d0e340 ">QSYS/QZBSJOBD</td>
</tr>
<tr><td valign="top" headers="d0e338 ">Remote command and program call</td>
<td valign="top" headers="d0e340 ">QSYS/QZBSJOBD</td>
</tr>
<tr><td valign="top" headers="d0e338 ">Central</td>
<td valign="top" headers="d0e340 ">QSYS/QZBSJOBD</td>
</tr>
<tr><td valign="top" headers="d0e338 ">Database</td>
<td valign="top" headers="d0e340 ">QGPL/QDFTSVR</td>
</tr>
<tr><td valign="top" headers="d0e338 ">Secure Database</td>
<td valign="top" headers="d0e340 ">QGPL/QDFTSVR</td>
</tr>
<tr><td valign="top" headers="d0e338 ">File</td>
<td valign="top" headers="d0e340 ">QGPL/QDFTSVR</td>
</tr>
<tr><td valign="top" headers="d0e338 ">Secure File</td>
<td valign="top" headers="d0e340 ">QGPL/QDFTSVR</td>
</tr>
<tr><td valign="top" headers="d0e338 ">Data Queue</td>
<td valign="top" headers="d0e340 ">QSYS/QZBSJOBD</td>
</tr>
<tr><td valign="top" headers="d0e338 ">Signon</td>
<td valign="top" headers="d0e340 ">QSYS/QZBSJOBD</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Start jobs</strong></p>
<p>Indicates whether prestart jobs are to automatically start when the subsystem
is started. These prestart job entries are shipped with a start jobs value
of *YES to ensure that the server jobs are available. The STRHOSTSVR command
starts each prestart job as part of its processing.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e399">Host server</th>
<th valign="top" id="d0e401">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e399 ">Network Print</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e399 ">Remote command and program call</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e399 ">Central</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e399 ">Database</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e399 ">Secure Database</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e399 ">File</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e399 ">Secure File</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e399 ">Data Queue</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e399 ">Signon</td>
<td valign="top" headers="d0e401 ">*YES</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Initial number of jobs</strong> </p>
<p>The number of jobs that are started when the subsystem starts. This value
is adjustable to suit your particular environment and needs.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e461">Host server</th>
<th valign="top" id="d0e463">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e461 ">Network Print</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
<tr><td valign="top" headers="d0e461 ">Remote command and program call</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
<tr><td valign="top" headers="d0e461 ">Central</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
<tr><td valign="top" headers="d0e461 ">Database</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
<tr><td valign="top" headers="d0e461 ">Secure Database</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
<tr><td valign="top" headers="d0e461 ">File</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
<tr><td valign="top" headers="d0e461 ">Secure File</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
<tr><td valign="top" headers="d0e461 ">Data Queue</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
<tr><td valign="top" headers="d0e461 ">Signon</td>
<td valign="top" headers="d0e463 ">1</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Threshold</strong> </p>
<p>The minimum number of available prestart jobs for a prestart job entry.
When this threshold is reached, additional prestart jobs automatically start.
Threshold maintains a certain number of jobs in the pool.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e523">Host server</th>
<th valign="top" id="d0e525">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e523 ">Network Print</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
<tr><td valign="top" headers="d0e523 ">Remote command and program call</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
<tr><td valign="top" headers="d0e523 ">Central</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
<tr><td valign="top" headers="d0e523 ">Database</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
<tr><td valign="top" headers="d0e523 ">Secure Database</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
<tr><td valign="top" headers="d0e523 ">File</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
<tr><td valign="top" headers="d0e523 ">Secure File</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
<tr><td valign="top" headers="d0e523 ">Data Queue</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
<tr><td valign="top" headers="d0e523 ">Signon</td>
<td valign="top" headers="d0e525 ">1</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Additional number of jobs</strong></p>
<p>The number of additional prestart jobs that are started when the threshold
is reached.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e584">Host server</th>
<th valign="top" id="d0e586">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e584 ">Network Print</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
<tr><td valign="top" headers="d0e584 ">Remote command and program call</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
<tr><td valign="top" headers="d0e584 ">Central</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
<tr><td valign="top" headers="d0e584 ">Database</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
<tr><td valign="top" headers="d0e584 ">Secure Database</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
<tr><td valign="top" headers="d0e584 ">File</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
<tr><td valign="top" headers="d0e584 ">Secure File</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
<tr><td valign="top" headers="d0e584 ">Data Queue</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
<tr><td valign="top" headers="d0e584 ">Signon</td>
<td valign="top" headers="d0e586 ">2</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Maximum number of jobs</strong></p>
<p>The maximum number of prestart jobs that can be active for this entry.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e645">Host server</th>
<th valign="top" id="d0e647">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e645 ">Network Print</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e645 ">Remote command and program call</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e645 ">Central</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e645 ">Database</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e645 ">Secure Database</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e645 ">File</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e645 ">Secure File</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e645 ">Data Queue</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e645 ">Signon</td>
<td valign="top" headers="d0e647 ">*NOMAX</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Maximum number of uses</strong></p>
<p>The maximum number of uses of the job. A value of 200 indicates that the
prestart job will end after 200 requests to start the server have been processed.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e706">Host server</th>
<th valign="top" id="d0e708">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e706 ">Network Print</td>
<td valign="top" headers="d0e708 ">200</td>
</tr>
<tr><td valign="top" headers="d0e706 ">Remote command and program call</td>
<td valign="top" headers="d0e708 ">1</td>
</tr>
<tr><td valign="top" headers="d0e706 ">Central</td>
<td valign="top" headers="d0e708 ">200</td>
</tr>
<tr><td valign="top" headers="d0e706 ">Database</td>
<td valign="top" headers="d0e708 ">200</td>
</tr>
<tr><td valign="top" headers="d0e706 ">Secure Database</td>
<td valign="top" headers="d0e708 ">200</td>
</tr>
<tr><td valign="top" headers="d0e706 ">File</td>
<td valign="top" headers="d0e708 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e706 ">Secure File</td>
<td valign="top" headers="d0e708 ">*NOMAX</td>
</tr>
<tr><td valign="top" headers="d0e706 ">Data Queue</td>
<td valign="top" headers="d0e708 ">200</td>
</tr>
<tr><td valign="top" headers="d0e706 ">Signon</td>
<td valign="top" headers="d0e708 ">200</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Wait for job</strong></p>
<p>This causes a client connection request to wait for an available server
job if the maximum number of jobs has been reached.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e767">Host server</th>
<th valign="top" id="d0e769">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e767 ">Network Print</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e767 ">Remote command and program call</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e767 ">Central</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e767 ">Database</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e767 ">Secure Database</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e767 ">File</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e767 ">Secure File</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e767 ">Data Queue</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
<tr><td valign="top" headers="d0e767 ">Signon</td>
<td valign="top" headers="d0e769 ">*YES</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Pool identifier</strong></p>
<p>The subsystem pool identifier in which this prestart job runs.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e828">Host server</th>
<th valign="top" id="d0e830">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e828 ">Network print</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
<tr><td valign="top" headers="d0e828 ">Remote command and program call</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
<tr><td valign="top" headers="d0e828 ">Central</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
<tr><td valign="top" headers="d0e828 ">Database</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
<tr><td valign="top" headers="d0e828 ">Secure database</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
<tr><td valign="top" headers="d0e828 ">File</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
<tr><td valign="top" headers="d0e828 ">Secure file</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
<tr><td valign="top" headers="d0e828 ">Data queue</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
<tr><td valign="top" headers="d0e828 ">Signon</td>
<td valign="top" headers="d0e830 ">1</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Class</strong></p>
<p>The name and library of the class the prestart job runs under.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" id="d0e889">Host server</th>
<th valign="top" id="d0e891">Value</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e889 ">Network Print</td>
<td valign="top" headers="d0e891 ">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top" headers="d0e889 ">Remote command and program call</td>
<td valign="top" headers="d0e891 ">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top" headers="d0e889 ">Central</td>
<td valign="top" headers="d0e891 ">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top" headers="d0e889 ">Database</td>
<td valign="top" headers="d0e891 ">QSYS/QPWFSERVER</td>
</tr>
<tr><td valign="top" headers="d0e889 ">Secure Database</td>
<td valign="top" headers="d0e891 ">QSYS/QPWFSERVER</td>
</tr>
<tr><td valign="top" headers="d0e889 ">File</td>
<td valign="top" headers="d0e891 ">QSYS/QPWFSERVER</td>
</tr>
<tr><td valign="top" headers="d0e889 ">Secure File</td>
<td valign="top" headers="d0e891 ">QSYS/QPWFSERVER</td>
</tr>
<tr><td valign="top" headers="d0e889 ">Data Queue</td>
<td valign="top" headers="d0e891 ">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top" headers="d0e889 ">Signon</td>
<td valign="top" headers="d0e891 ">QGPL/QCASERVR</td>
</tr>
</tbody>
</table>
</div>
<p>When the start jobs value for the prestart job entry has been set to *YES
and the remaining values are at their initial settings, the following actions
take place for each prestart job entry:</p>
<ul><li>When the subsystem is started, one prestart job for each server is started.</li>
<li>When the first client connection request processes for a specific server,
the initial job is used and the threshold is exceeded.</li>
<li>Additional jobs are started for that server based on the number that is
defined in the prestart job entry.</li>
<li>The number of available jobs is always at least one.</li>
<li>The subsystem periodically checks the number of prestart jobs that are
ready to process requests, and ends excess jobs. The subsystem always leaves
at least the number of prestart jobs specified in the initial jobs parameter.</li>
</ul>
<div class="section" id="rzaiimstprestrtjob__SPTIDX221"><a name="rzaiimstprestrtjob__SPTIDX221"><!-- --></a><h4 class="sectiontitle">Monitor prestart jobs</h4><p>Use the Display
Active Prestart Jobs (DSPACTPJ) command to monitor the prestart jobs. For
example, to monitor prestart jobs for the signon server, you must know the
subsystem your prestart jobs are in (QUSRWRK or a user-defined subsystem)
and the program (for example, QZSOSIGN).</p>
<p>The DSPACTPJ command provides
the following information:</p>
<pre>+--------------------------------------------------------------------------------+
| Display Active Prestart Jobs AS400597 |
| 01/12/95 16:39:25 |
|Subsystem . . . . . : QUSRWRK Reset date . . . . . : 01/11/95 |
|Program . . . . . . : QZSOSIGN Reset time . . . . . : 16:54:50 |
| Library . . . . . : QSYS Elapsed time . . . . : 0023:12:21 |
| |
| Prestart jobs: |
| Current number . . . . . . . . . . . . . . . . : 10 |
| Average number . . . . . . . . . . . . . . . . : 8.5 |
| Peak number . . . . . . . . . . . . . . . . . : 25 |
| |
| Prestart jobs in use: |
| Current number . . . . . . . . . . . . . . . . : 5 |
| Average number . . . . . . . . . . . . . . . . : 4.3 |
| Peak number . . . . . . . . . . . . . . . . . : 25 |
| |
| |
| More... |
| |
| |
+--------------------------------------------------------------------------------+</pre>
<pre>+--------------------------------------------------------------------------------+
| 01/12/95 16:39:25 |
|Subsystem . . . . . : QUSRWRK Reset date . . . . . : 01/11/95 |
|Program . . . . . . : QZSOSIGN Reset time . . . . . : 16:54:50 |
| Library . . . . . : QSYS Elapsed time . . . . : 0023:12:21 |
| |
| |
| |
| Program start requests: |
| Current number waiting . . . . . . . . . . . . : 0 |
| Average number waiting . . . . . . . . . . . . : .2 |
| Peak number waiting . . . . . . . . . . . . . : 4 |
| Average wait time . . . . . . . . . . . . . . : 00:00:20.0 |
| Number accepted . . . . . . . . . . . . . . . : 0 |
| Number rejected . . . . . . . . . . . . . . . : 0 |
| |
| |
| |
| Bottom |
|Press Enter to continue. |
| |
|F3=Exit F5=Refresh F12=Cancel F13=Reset statistics |
| |
+--------------------------------------------------------------------------------+</pre>
</div>
<div class="section" id="rzaiimstprestrtjob__SPTIDX222"><a name="rzaiimstprestrtjob__SPTIDX222"><!-- --></a><h4 class="sectiontitle">Manage prestart jobs</h4><p>Pressing the <span class="uicontrol">F5</span> key
while on the Display Active Prestart Jobs display can refresh the information
presented for an active prestart job. The information about program start
requests can indicate whether you need to change the available number of prestart
jobs. If the information indicates that program start requests are waiting
for an available prestart job, you can change prestart jobs with the Change
Prestart Job Entry (CHGPJE) command.</p>
<p>If the program start requests are
not acted on quickly, you can do any combination of the following:</p>
<ul><li>Increase the threshold</li>
<li>Increase the parameter value for the initial number of jobs (INLJOBS)</li>
<li>Increase the parameter value for the additional number of jobs (ADLJOBS)</li>
</ul>
<p>The key is to ensure that an available prestart job exists for every
request.</p>
</div>
<div class="section" id="rzaiimstprestrtjob__SPTIDX223"><a name="rzaiimstprestrtjob__SPTIDX223"><!-- --></a><h4 class="sectiontitle">Remove prestart job entries</h4><p>If you
decide that you do not want the servers to use the prestart job function,
you must do the following:</p>
<ol><li>End the prestarted jobs with the End Prestart Job (ENDPJ) command. <p>Prestarted
jobs ended with the ENDPJ command are started the next time the subsystem
is started if start jobs *YES is specified in the prestart job entry or when
the STRHOSTSVR command is issued for the specified server type. If you only
end the prestart job and don't take the next step, any requests to start the
particular server will fail.</p>
</li>
<li>Remove the prestart job entries in the subsystem description with the
Remove Prestart Job Entry (RMVPJE) command. <p>The prestart job entries that
are removed with the RMVPJE command are permanently removed from the subsystem
description. Once the entry is removed, new requests for the server will succeed.</p>
</li>
</ol>
</div>
<div class="section" id="rzaiimstprestrtjob__SPTIDX224"><a name="rzaiimstprestrtjob__SPTIDX224"><!-- --></a><h4 class="sectiontitle">Use routing entries</h4><p>When a daemon
job is routed to a subsystem, the job is using the routing entries in the
subsystem description. The routing entries for the host server daemon jobs
are added to the subsystem description when the STRHOSTSVR command is issued.
These jobs are started under the QUSER user profile. For daemon jobs that
are submitted to the QSYSWRK subsystem, the QSYSNOMAX job queue is used. For
daemon jobs that are submitted to the QSERVER subsystem, the QPWFSERVER job
queue is used.</p>
<p>The characteristics of the server jobs are taken from
their prestart job entry. If prestart jobs are not used for the servers, then
the server jobs start with the characteristics of their corresponding daemon
jobs.</p>
<p>The following information provides the initial configuration in
the IBM-supplied subsystems for each of the server daemon jobs.</p>
<p><strong>Network
print server daemon</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><tbody><tr><td valign="top">Subsystem</td>
<td valign="top">QSYS/QSYSWRK</td>
</tr>
<tr><td valign="top">Job queue</td>
<td valign="top">QSYSNOMAX</td>
</tr>
<tr><td valign="top">User</td>
<td valign="top">QUSER</td>
</tr>
<tr><td valign="top">Route data</td>
<td valign="top">QNPSERVD</td>
</tr>
<tr><td valign="top">Job name</td>
<td valign="top">QNPSERVD</td>
</tr>
<tr><td valign="top">Class</td>
<td valign="top">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top">Sequence number</td>
<td valign="top">2538</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Remote command and program call server daemon</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><tbody><tr><td valign="top">Subsystem</td>
<td valign="top">QSYS/QSYSWRK</td>
</tr>
<tr><td valign="top">Job queue</td>
<td valign="top">QSYSNOMAX</td>
</tr>
<tr><td valign="top">User</td>
<td valign="top">QUSER</td>
</tr>
<tr><td valign="top">Route data</td>
<td valign="top">QZRCSRVSD</td>
</tr>
<tr><td valign="top">Job name</td>
<td valign="top">QZRCSRVSD</td>
</tr>
<tr><td valign="top">Class</td>
<td valign="top">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top">Sequence number</td>
<td valign="top">2539</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Central server daemon</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><tbody><tr><td valign="top">Subsystem</td>
<td valign="top">QSYS/QSYSWRK</td>
</tr>
<tr><td valign="top">Job queue</td>
<td valign="top">QSYSNOMAX</td>
</tr>
<tr><td valign="top">User</td>
<td valign="top">QUSER</td>
</tr>
<tr><td valign="top">Route data</td>
<td valign="top">QZSCSRVSD</td>
</tr>
<tr><td valign="top">Job name</td>
<td valign="top">QZSCSRVSD</td>
</tr>
<tr><td valign="top">Class</td>
<td valign="top">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top">Sequence number</td>
<td valign="top">2536</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Database server daemon</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><tbody><tr><td valign="top">Subsystem</td>
<td valign="top">QSYS/QSERVER</td>
</tr>
<tr><td valign="top">Job queue</td>
<td valign="top">QPWFSERVER</td>
</tr>
<tr><td valign="top">User</td>
<td valign="top">QUSER</td>
</tr>
<tr><td valign="top">Route data</td>
<td valign="top">QZDASRVSD</td>
</tr>
<tr><td valign="top">Job name</td>
<td valign="top">QZDASRVSD</td>
</tr>
<tr><td valign="top">Class</td>
<td valign="top">QSYS/QPWFSERVER</td>
</tr>
<tr><td valign="top">Sequence number</td>
<td valign="top">600</td>
</tr>
</tbody>
</table>
</div>
<p><strong>File server daemon</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><tbody><tr><td valign="top">Subsystem</td>
<td valign="top">QSYS/QSERVER</td>
</tr>
<tr><td valign="top">Job queue</td>
<td valign="top">QPWFSERVER</td>
</tr>
<tr><td valign="top">User</td>
<td valign="top">QUSER</td>
</tr>
<tr><td valign="top">Route data</td>
<td valign="top">QPWFSERVSD</td>
</tr>
<tr><td valign="top">Job name</td>
<td valign="top">QPWFSERVSD</td>
</tr>
<tr><td valign="top">Class</td>
<td valign="top">QSYS/QPWFSERVER</td>
</tr>
<tr><td valign="top">Sequence number</td>
<td valign="top">200</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Data queue server daemon</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><tbody><tr><td valign="top">Subsystem</td>
<td valign="top">QSYS/QSYSWRK</td>
</tr>
<tr><td valign="top">Job queue</td>
<td valign="top">QSYSNOMAX</td>
</tr>
<tr><td valign="top">User</td>
<td valign="top">QUSER</td>
</tr>
<tr><td valign="top">Route data</td>
<td valign="top">QZHQSRVD</td>
</tr>
<tr><td valign="top">Job name</td>
<td valign="top">QZHQSRVD</td>
</tr>
<tr><td valign="top">Class</td>
<td valign="top">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top">Sequence number</td>
<td valign="top">2537</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Signon server daemon</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><tbody><tr><td valign="top">Subsystem</td>
<td valign="top">QSYS/QSYSWRK</td>
</tr>
<tr><td valign="top">Job queue</td>
<td valign="top">QSYSNOMAX</td>
</tr>
<tr><td valign="top">User</td>
<td valign="top">QUSER</td>
</tr>
<tr><td valign="top">Route data</td>
<td valign="top">QZSOSGND</td>
</tr>
<tr><td valign="top">Job name</td>
<td valign="top">QZSOSGND</td>
</tr>
<tr><td valign="top">Class</td>
<td valign="top">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top">Sequence number</td>
<td valign="top">2540</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Server Mapper daemon</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><tbody><tr><td valign="top">Subsystem</td>
<td valign="top">QSYS/QSYSWRK</td>
</tr>
<tr><td valign="top">Job queue</td>
<td valign="top">QSYSNOMAX</td>
</tr>
<tr><td valign="top">User</td>
<td valign="top">QUSER</td>
</tr>
<tr><td valign="top">Route data</td>
<td valign="top">QZSOSMAPD</td>
</tr>
<tr><td valign="top">Job name</td>
<td valign="top">QZSOSMAPD</td>
</tr>
<tr><td valign="top">Class</td>
<td valign="top">QGPL/QCASERVR</td>
</tr>
<tr><td valign="top">Sequence number</td>
<td valign="top">2541</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaiimst29.htm" title="Describes which system-supplied subsystems are used for each of the server functions. These topics also detail how the subsystem descriptions relate to the server jobs. Learn about i5/OS subsystems and how to autostart and prestart jobs.">Subsystems on the iSeries server</a></div>
</div>
</div>
</body>
</html>