Job-Netz

Job-Netze sind eine leistungsfähige Möglichkeit des JES3, mehrere Jobs parallel ablaufen zu lassen, die Ausführung aber vom Beenden anderer Jobs abhängig zu machen.

Theoretisches Beispiel

In dem folgenden Beispiel repräsentieren

  • nebeneinander liegende Kästen Jobs, die nur gleichzeitig (parallel) ausgeführt werden können, und
  • untereinander liegende Kästen Jobs, die nur nacheinander (sequentiell) ausgeführt werden können:
 
 
 
 
 
PREPARE
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
DINGE1
 
 
 
 
 
 
 
DINGE2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CLEANUP
 
 
 
 
 

Wenn der Job PREPARE durchgelaufen ist, dürfen die Jobs DINGE1 und DINGE2 gleichzeitig laufen. Aber erst, wenn beide fertig sind, darf der Job CLEANUP gestartet werden.

Wie lässt sich das realisieren? Man gibt diesem Job-Netz einen Namen, zum Beispiel TESTNET. Jeder Job bekommt gleichzeitig einen Hold-Count; ist der Hold-Count auf 0, wird der Job gestartet. Darüber liegende Jobs dekrementieren den Hold-Count des darunter liegenden, d. h., sie releasen ihn.

Für unser Beispiel heißt das:

  • CLEANUP bekommt einen Hold-Count von 2. Der Job wird von DINGE1 und DINGE2 released.
  • DINGE1 und DINGE2 bekommen jeweils einen Hold-Count von 1.
  • PREPARE braucht keinen Hold-Count; der Job wird ja sofort gestartet. Allerdings released er DINGE1 und DINGE2.

In der Praxis sehen Job-Netze viel komplizierter aus; es gibt zu diesen seitenlange Diagramme.

Codierung in JCL

Wie sieht dieses Beispiel in der Job Control Language (JCL) aus?

  • Für PREPARE:
//*NET NETID=TESTNET,RELEASE=(DINGE1,DINGE2)
  • Für DINGE1 und DINGE2 jeweils:
//*NET NETID=TESTNET,RELEASE=(CLEANUP),NHOLD=1
  • Für CLEANUP:
//*NET NETID=TESTNET,NHOLD=2

Seit geraumer Zeit allerdings werden diese NETs im JES3 kaum noch genutzt, sondern sind weitgehend durch andere Ablauf-Planungs-Systeme, wie z. B. Operation Planning and Control (OPC) ersetzt worden.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.