I use same JOBQ for all the other jobs, a JOBQ set to only run one task at
a time.
If there is SBMJOB inside of SBMJOB & if some of these jobs could be
legitimately called by unrelated application tasks, then the architecture
needs to have whatever JOBQ to use passed down as a parameter.
If job-1 loads up JOBQ with jobs-A B C D E F to run in sequence
and if job-A submits job A1, default is to place it after F, but maybe it
needs to run before B, so you need to tinker with the priorities, so that
it is inserted in right place.
A CL can have a WAIT setup, where it is waiting for some event condition,
in this case information that a particular step has completed, which can be
via message, or use a shared data area where each program updates flag ...
I am active, I am finished ... of maybe outer CL have an IF ACTIVE name of
previous launched program.
I have a string of batch jobs that create various intermediate work files,
that are then input to later work files. Each one uses a shared MSGQ
"Whatever job I am got started"
"Whatever job I am completed"
so if anything goes haywire, I check one place & rapidly identify which
batch joblog will contain info on what broke.
The architecture is that there is one very simple CL that basically says:
SBMJOB this batch job
SBMJOB this batch job
again and again like 20 times
NONE of these batch jobs has any SBMJOB where the called work needs to be
run in any particular sequence
they all end up in same single threaded JOBQ
The controlling CL that has the SBMJOB list
it also runs in same JOBQ
so that the first in the string does not start until the controlling guy is
finished
I have found performance issues when there's a bunch of different JOBQ
concurrently active, so I have
* one JOBQ for ordinary BPCS stuff and quickies (tasks that should be over
in a few minutes)
* one JOBQ for long running complicated stuff that can reasonably be
expected to take upwards of an hour to get done
A CL program that runs several batch jobs, one after the other
A CL program is calling several other CLs, many of which have SBMJOB
commands in them. The next CL can not be run until the previous CL is
completed.
It is entirely possible that I am making too big a deal out of this. Is
there an easy way to make it run one step at a time?
--
---------------------------------
Booth Martin
http://www.Martinvt.com
---------------------------------
--
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.
As an Amazon Associate we earn from qualifying purchases.