AE Agenten-Aufbau für HP NonStop Server
Dieses Dokument beschreibt den Job-Ablauf auf einem HP NonStop Server über einen AE NSK-Agenten.
Diese Seite beinhaltet Folgendes:
Job-Start
Der Job-Start wird von der Automation Engine initiiert. Diese schickt eine Meldung über den Job-Start an den AE NSK-Agenten. Der AE-Agent erzeugt zunächst einen Eintrag in der AE-Statusdatei.
Der AE NSK-Agent sendet dann eine Meldung an den AE Output Collector (über IPC), die u.a. folgende Informationen enthält:
- Job-Benutzer
- Verwendete Job-Datei
- Das verwendete virtuelle Terminal (falls erforderlich)
- Job-Priorität
- Dateiname des Job-Reports
- AE-Makro Dateiname usw.
Er erhält folgende Informationen zurück:
- #-Location des AE Output Collectors, die als Ausgabedatei für den zu startenden Job zu verwenden ist.
Der AE Output Collector schreibt dann alle Ausgaben, die ihn unter dieser #-Location erreichen, in die zugehörige Reportdatei. - Flag, ob ein wiederverwendbarer TACL-Prozess verfügbar ist, oder ob vom Agenten ein neuer TACL-Prozess zu starten ist, und
- die Information, ob der Standardbenutzer (der nach Job-Ende von den TACLs angenommen wird) noch gültig ist.
Falls erforderlich, startet der Agent einen neuen TACL-Prozess. Dieser meldet sich dann beim AE Output Collector an (da dieser als Ausgabegerät angegeben wurde).
Der Output Collector erzeugt die Reportdatei. Anschließend konfiguriert er den TACL des Jobs (Setzen des Benutzers, Setzen der Priorität usw.). Schließlich erhält der TACL des Jobs die Job-Datei als Obey-Datei und beginnt somit mit der Bearbeitung des Jobs.
Job-Ablauf
Während der Job läuft, werden alle vom Job erzeugten Ausgaben auf den AE Output Collector geleitet und in die Job-Reports geschrieben. Falls eine Eingabe erwartet wird und ein Terminal für den Job konfiguriert ist, wird die Eingabe vom Terminal abgeholt.
Die Beziehung zwischen Job-Report und Job wird über die #-Location, unter der der Output Collector von den Jobs angesprochen wird, hergestellt.
So kann z. B. Output auf Location $UC4OC.#AAL in die Reportdatei $DATA.REPORTS.FFXX gehen, während Ausgaben auf $UC4OC.#AAM in $DATA.REPORTS.FFXY geschrieben werden.
Die Namen der #-Locations bzw. der Reportdateien werden vom Agenten bzw. Output Collector vergeben.
Job-Ende
Das Job-Ende wird vom Output Collector dadurch erkannt, dass der TACL-Prozess des Jobs sich wieder mit einer Eingabeaufforderung bei ihm meldet oder (im Fehlerfall) den Output Collector schließt. Beim Job-Ende schreibt der Output Collector die Job-Statusdatei fort und sendet eine entsprechende Meldung (über IPC) an den Agenten. Dieser meldet den Job beim Server schließlich als fertig.
Bedeutung der Statusdatei
Die Job-Statusdatei erlaubt die verbesserte Wiederherstellung des Jobs im Fall eines Abbruchs des Agenten oder Output Collectors. In einem solchen Fall wird beim Neustart des gestörten Prozesses der Kontext aus der Job-Statusdatei wieder hergestellt. Viele Jobs können daher einen solchen Fehlerfall überstehen und der Betrieb läuft störungsfrei weiter. Eventuell in der Zeit des Ausfalls vom Agent/Output Collector beendete Jobs werden erkannt und gemeldet. Somit zeigt die Automation Engine also stets ein korrektes Abbild des Zustands auf dem System.
Gegenseitige Überwachung
Agent und Output Collector überwachen sich gegenseitig. Sollte sich einer dieser beiden Prozesse ungeplant beenden (unbeabsichtigtes Stoppen, CPU-Ausfall, Softwarefehler o.ä.), startet der überlebende Prozess den ausgefallenen Prozess automatisch neu. Ist die CPU des ausgefallenen Prozesses gerade nicht (mehr) verfügbar, wird eine andere, verfügbare CPU gewählt (bevorzugt eine, die nicht dem überlebenden Prozess zugeordnet ist). Dies macht das System tolerant gegenüber unterschiedlichsten Fehlern.
Siehe auch:
NSK-Agent - Zusammenspiel zwischen Automation Engine und NSK