× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I saw that. But I was unable to find anything about batch work requests. It certainly is not something appearing on a data queue. Maybe the request comes through the routing entries. If you look at QSQSRVR in QSYSWRK, it is a prestart job, and the docs say that the servers in QSYSWRK are prestart batch jobs. If you look at it's call stack, QSQSRVR is the first program on the stack, and I suspect it came through the routing entry 300. Maybe that is how the request is made, via a request message coming through the routing entries.

If I look at my interactive job, QCMD is the first program on the stack. That is the routing program that interactive jobs pick up.

Not real sure how a batch job would detach from a prestart job without ending the job though.

Mark Murphy
STAR BASE Consulting, Inc.
mmurphy@xxxxxxxxxxxxxxx


-----Charles Wilt <charles.wilt@xxxxxxxxx> wrote: -----
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
From: Charles Wilt <charles.wilt@xxxxxxxxx>
Date: 09/14/2016 09:53AM
Subject: Re: Prestart jobs... how does it work ?


&#8203;While most (all?) IBM prestart jobs on the system are indeed communication
jobs, the system does support "batch" prestart jobs.

https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzaks/rzaksprestarttype.htm

Prestart communicationsThe job is a communications batch job that starts
running before a remote system sends a program start request.Prestart batchThe
job is a batch job that starts before a work request is received.
&#8203;
More details:
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzaks/rzaksaboutprestartjobs.htm


"A prestart job is a unique type of batch job. This means that the job has
a job type of 'B' and a job subtype of 'J'. The enhanced job type further
defines the job as a prestart job (1610), prestart batch job (1620), or
prestart communications job (1630). The enhanced job type describes how the
prestart job accepts work requests. If the program running in the prestart
job uses the communications interface for accepting work, the job is a
prestart communications job. If the program running in the prestart job
accepts work through a batch work interface, the job is a prestart batch
job. If the program has not yet reached the point of accepting work, the
job is just a prestart job. Prestart batch jobs are often referred to as
server jobs because they provide service for the work requests."

Sounds like Paul wants a prestart batch job. Problem is, I can't find
anything documented on how to submit the "work request" through a "batch
interface".

Charles

On Wed, Sep 14, 2016 at 7:31 AM, Mark Murphy/STAR BASE Consulting Inc. <
mmurphy@xxxxxxxxxxxxxxx> wrote:

Prestart jobs were created to handle communications requests from some
outside source. So when a communication request comes in, there is always
an open job waiting to process it. The communication request would come
in, get processed to completion and that is one use. If the threshold
number of jobs is servicing a communications request, additional jobs are
started so there are a sufficient number waiting to handle additional
requests, up to the max. Once a prestart job services a specified number of
communications requests, it ends. This allows the number of active prestart
jobs to slowly die down as the volume of communications requests decrease.
The nice thing about prestart jobs is that they restart themselves if one
crashes, so there is always something waiting on a communications request.
If you have no communications request coming in, you will never have more
than the initial number of prestart jobs active, and the active ones will
never end. A communications reques
t is one that enters the subsystem via a communications entry.

Some people use prestart jobs to process things other than communications
requests. For example your data queue example. Programs still restart
themselves if something goes wrong, but no additional jobs are started, and
programs do not end on their own because they are not processing
communications requests.

Mark Murphy
STAR BASE Consulting, Inc.
mmurphy@xxxxxxxxxxxxxxx


-----Paul Nicolay <paul.nicolay@xxxxxxxxxx> wrote: -----
To: "'Midrange Systems Technical Discussion'" <midrange-l@xxxxxxxxxxxx>
From: Paul Nicolay <paul.nicolay@xxxxxxxxxx>
Date: 09/13/2016 11:04AM
Subject: Re: Prestart jobs... how does it work ?


Hi,

But that defies the idea of the whole prestart job stuff.

You're setting the initial number according to your needs manually...
fine, but what's the purpose of additional jobs if it doesn't do anything
with it ?

For QZDASOINIT etc this works fine, but how do they do it ?

Kind regards,
Paul
________________________________________
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxx> on behalf of Jim
Oberholtzer <midrangel@xxxxxxxxxxxxxxxxx>
Sent: Tuesday, September 13, 2016 16:07
To: 'Midrange Systems Technical Discussion'
Subject: RE: Prestart jobs... how does it work ?

Paul:

Generally we set the number of prestart jobs to a number that provides the
service level needed for that job. For instance, it might be OK to wait
for
100 queue entries to be processed over a period of time; then again it
might
be imperative that they get processed very quickly. So I would either set
the number of jobs at 3 as you have done, or bump that number up so that I
have sufficient numbers of listeners to handle the load. Now the memory
management and activity levels for those jobs can be set so they process
properly. (works similarly to how many CGI jobs have to be running for
the
Apache Server to process too)

I agree with Kevin, what does DSPACTPJ show?

--
Jim Oberholtzer
Agile Technology Architects


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Kevin
Bucknum
Sent: Tuesday, September 13, 2016 8:42 AM
To: Midrange Systems Technical Discussion
Subject: RE: Prestart jobs... how does it work ?

Also - when you are hitting with with 100 entries, what does DSPACTPJ show?




Kevin Bucknum
Senior Programmer Analyst
MEDDATA/MEDTRON
Tel: 985-893-2550

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Paul
Nicolay
Sent: Tuesday, September 13, 2016 8:32 AM
To: 'Midrange Systems Technical Discussion'
Subject: Re: Prestart jobs... how does it work ?

Hi Jim,

This is the PJ definition;

Program . . . . . . . . . . . . . . . . . . . . : TST005CL
Library . . . . . . . . . . . . . . . . . . . : PAULN
User profile . . . . . . . . . . . . . . . . . . : QUSER
Job . . . . . . . . . . . . . . . . . . . . . . : TST005CL
Job description . . . . . . . . . . . . . . . . : *USRPRF
Library . . . . . . . . . . . . . . . . . . . :
Start jobs . . . . . . . . . . . . . . . . . . . : *YES
Initial number of jobs . . . . . . . . . . . . . : 3
Threshold . . . . . . . . . . . . . . . . . . . : 2
Additional number of jobs . . . . . . . . . . . : 2
Maximum number of jobs . . . . . . . . . . . . . : 10
Maximum number of uses . . . . . . . . . . . . . : 5
Wait for job . . . . . . . . . . . . . . . . . . : *YES
Pool identifier . . . . . . . . . . . . . . . . : 1
Class . . . . . . . . . . . . . . . . . . . . . : QBATCH
Library . . . . . . . . . . . . . . . . . . . : QSYS
Number of jobs to use class . . . . . . . . . : *CALC
Class . . . . . . . . . . . . . . . . . . . . . : *NONE
Library . . . . . . . . . . . . . . . . . . . :
Number of jobs to use class . . . . . . . . . : *CALC
Thread resources affinity:
Group . . . . . . . . . . . . . . . . . . . . : *SYSVAL
Level . . . . . . . . . . . . . . . . . . . . :
Resources affinity group . . . . . . . . . . . . : *NO

The 5 uses only was just something to test to see if it works.

But you state that it works, do you mean that; something (the OS ?) is
starting additional jobs for you (apart from the initial ones) and based on
what ?

Kind regards,
Paul

________________________________________
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxx> on behalf of Jim
Oberholtzer <midrangel@xxxxxxxxxxxxxxxxx>
Sent: Tuesday, September 13, 2016 15:15
To: 'Midrange Systems Technical Discussion'
Subject: RE: Prestart jobs... how does it work ?

Can you post the prestart job entry and job description?

I think your jobs should stay in DEQW rather than PSRW status. PSRW
implies
a multithreaded job wait rather than a more traditional job.

We do this all the time and don't have any issues.

Why kill the job after 5 uses? It would seem to be overly expensive to
constantly be creating new prestart jobs.

--
Jim Oberholtzer
Agile Technology Architects

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe,
or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe,
or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.