× 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.



On 15-Jul-2015 11:16 -0600, Mark S Waterbury wrote:
On 15-Jul-2015 09:23 -0600, Matt Lavinder wrote:
PASE doesn't use prestart jobs by default, but you can tell it to.

[http://www.ibm.com/support/knowledgecenter/api/content/nl/en-us/ssw_ibm_i_71/apis/qp2runpase.htm]

I don't know if that is the exact link, but this has similar
information. If you go down to "usage notes" you will see:

---
QIBM_PASE_USE_PRESTART_JOBS

When this ILE environment variable is set to Y, IBM PASE for i
runtime uses prestarted jobs for child processes created by fork
and for any job started by the systemCL IBM PASE for i runtime
function (to run a CL command). You should add prestarted job
entries (ADDPJE command) for programs QP0ZSPWT (used by fork) and
QP0ZSPWP (used by systemCL) to any subsystem description that will
run jobs that use this support.
---

That is the configuration I am attempting to use. I've created the
prestart job entries and I set that environment variable. It
works, but it only uses the jobs once, which really isn't the
behavior we were after. We were hoping it would use the 2 prestart
jobs over and over.


<<SNIP>>

Also, for "Maximum number of uses" try specifying "1" -- that way,
each time a single use finishes, that job will "end" and it will
automatically be replaced by a new prestart job to take its place.
Prompt ADDPJE, put the cursor in the MAXUSE field and press F1=Help
to learn more.

I say this because in the Unix world, (and I believe AIX and PASE
works the same way), when "fork" is called to create a new process
(job), that new task (job) runs to completion and then just ends. In
fact, Unix shells (sh, bash, etc.) will issue a "fork" for each and
every command you type in at the command line, or each command within
a "shell script" ... And I notice that PASE does this, too ... You
can see those "BCI" jobs starting up for each command that is run in
PASE ... This is why when you run a "shell script" with many
commands, it can take a long time ...

SUMMARY I do not think there is any way to "re-use" any "pre-start"
jobs for more than one invocation of a "fork" because that's just the
way Unix works. :-P

Try MAXUSE(1) and see if this helps.


While implementing that /one-use/ would still maintain some value over having no PJs available [per having pre-created job\structures in which the work will be performed across as many PJs as were started], that choice to implement only the one-use of each PJ defeats a secondary capability\aspect of the PJ, and that is the /reuse/ of the one\same JMQ to implement multiple /jobs/ across the existence of each pre-created JMQ. That job reuse feature is a skinny/fast-path _job_ implementation to minimize the resources required for fully creating and destroying a new job each time; much like reusable ODPs as psuedo-closed SQL cursors are a means to allow reuse of and thus reduce the full create\delete of an ODP. Surely the "new process" that gets initiated would be intended not only to have a pre-created job structure available when the EnvVar enables use of PJs, but also to use each pre-created job structure as many times as was specified on the Maximum Number Of Uses (MAXUSE) parameter; i.e. function just as one expects and experiences with ¿every? other PJE implementation that "uses prestarted jobs".? Why should there be any [legitimate] expectation that the PASE BCI job implementation for use of PJs would fail to honor the MAXUSE; while the "hoping it would use the 2 prestart jobs over and over" [i.e. repeated for the 200 times specified] may be somewhat simplistic [per overlooking concurrency], that expectation seems only natural.?


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.