Job network

from Wikipedia, the free encyclopedia

Job networks are a powerful way of the JES3 to run several jobs in parallel, but to make the execution dependent on the completion of other jobs.

Theoretical example

Represent in the example below

  • adjacent boxes jobs that can only be carried out simultaneously (in parallel) , and
  • Boxes lying one below the other, jobs that can only be executed one after the other (sequentially) :
 
 
 
 
 
PREPARE
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
THINGS1
 
 
 
 
 
 
 
THINGS2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CLEANUP
 
 
 
 
 

When the PREPARE job has run through, the DINGE1 and DINGE2 jobs can run simultaneously. But the job CLEANUP can only be started when both are finished .

How can this be done? You give this job network a name, for example TESTNET . Each job gets a hold count at the same time ; if the hold count is at 0, the job is started. Jobs above decrement the hold count of the jobs below, i.e. i.e. , they release it.

For our example this means:

  • CLEANUP gets a hold count of 2. The job is released by DINGE1 and DINGE2 .
  • DINGE1 and DINGE2 each get a hold count of 1.
  • PREPARE does not need a hold count; the job is started immediately. However, he releases DINGE1 and DINGE2 .

In practice, job networks look much more complicated; there are long diagrams for them.

Coding in JCL

What does this example look like in the Job Control Language (JCL)?

  • For PREPARE :
//*NET NETID=TESTNET,RELEASE=(DINGE1,DINGE2)
  • For DINGE1 and DINGE2 each:
//*NET NETID=TESTNET,RELEASE=(CLEANUP),NHOLD=1
  • For CLEANUP :
//*NET NETID=TESTNET,NHOLD=2

For some time now, however, these NETs have hardly been used in the JES3. Instead, they are largely managed by other process planning systems, such as B. Operation Planning and Control (OPC) has been replaced.