Jobwarteschlangen verwalten
Nach Übermittlung eines Jobs übernimmt der Batchjob-Manager (CMNGJOB) dessen Verwaltung und steuert die Ausführung.
CMNGJOB versucht, die übermittelten Jobs zu starten. Um diesen Prozess zu steuern, sind eine oder mehrere Jobwarteschlangen zur Ausführung der Jobs verfügbar. Für jede Warteschlange ist eine maximale zulässige Anzahl an parallel ausführbaren Jobs definiert. Auf diese Weise soll eine Überlastung des Batchprozessors verhindert werden. Dies wird in "Jobwarteschlange. Öffnen" (MNS300) festgelegt.
Die verwendete Warteschlange wird vom Jobkontrolldatensatz in CJBCMD bestimmt. Jobs ohne Angabe einer bestimmten Warteschlange werden an die Standardwarteschlange QBATCH übergeben.
Die übermittelten Jobs werden in Prioritätsreihenfolge ausgeführt. Zunächst werden alle Jobs mit Priorität 1 ausgeführt, dann die mit Priorität 2 usw.
Beispiel:
Warteschlange A enthält 100 Jobs mit Priorität 1 und 70 Jobs mit Priorität 2. Warteschlange B enthält 50 Jobs mit Priorität 1.
Die Warteschlange wird in folgender Reihenfolge abgearbeitet:
- Warteschlange A, Priorität 1 (100 Jobs)
- Warteschlange B, Priorität 1 (50 Jobs)
- Warteschlange A, Priorität 2 (70 Jobs)
Jobwarteschlangen und Subsysteme für unterschiedliche Jobtypen
Es empfiehlt sich, für jeden Jobtyp (Jobs mit langer, mittlerer und kurzer Ausführungsdauer) eine eigene Warteschlange zu erstellen. Spezifische Warteschlangen können auch bestimmten Gruppen von Jobs zugeordnet werden. Eine durchdachte Zuteilung von Warteschlangen in Verbindung mit einer sinnvollen Begrenzung der maximal zulässigen Anzahl an Jobs kann sich als effektives und einfaches Mittel für eine verbesserte Systemnutzung und -auslastung erweisen.
Maximale Anzahl der Jobs pro Subsystem
Jedes Subsystem verfügt über Einstellungen zur Steuerung der maximalen Anzahl an Jobs, die gestartet werden können. Diese Einstellungen sind in den Dateien "M3.properties" und "M3 Script" definiert.
-
boot.server.maxsubs = 0
Maximale Anzahl von Subsystemen, die pro Server gestartet werden können (0 = keine Beschränkung)
-
boot.supervisor.balanceload
Soll die Auslastung der M3-Subsysteme gleichmäßig verteilt werden? 0 = nein, 1 = ja
-
boot.subs.maxjobs
Wie viele Jobs können pro M3-Subsystem zur gleichen Zeit ausgeführt werden? Diese Eigenschaft kann genutzt werden, um für eine gleichmäßige Verteilung der Last zwischen Subsystemen auf unterschiedlichen M3-Servern zu sorgen. 0 = keine Beschränkung
Diese Einstellung wird nicht mehr verwendet. Der Wert muss Null sein.
boot.subs.maxjobs = 0
Die entsprechenden Einstellungen werden stattdessen in der Datei M3 Script vorgenommen.
Beispiel
Im Subsystem SUB:B sind 20 Jobs erlaubt, und es gibt drei Jobwarteschlangen mit einer Höchstzahl von 8, 3 und 1 parallel ausführbaren Jobs. Die maximale Last des Subsystems beträgt in diesem Fall 8 + 3 + 1 = 12 Jobs.
Im Subsystem SUB:B sind 10 Jobs erlaubt, und es gibt drei Jobwarteschlangen mit einer Höchstzahl von 8, 3 und 1 parallel ausführbaren Jobs. Die maximale Last des Subsystems beträgt in diesem Fall 8 + 3 + 1 = 12 Jobs. Die maximale Last beträgt damit 2 Jobs mehr als zugelassen. Hier kann je nach den Einstellungen in M3.properties eine verteilte Auslastung zwischen den M3-Subsystemen vorgenommen werden.
Jobwarteschlangenstatus
Der Jobwarteschlangenstatus steuert die Ausführung von Jobs in einer bestimmten Warteschlange. Der Status bestimmt, ob der Job in einer bestimmten Warteschlange verarbeitet oder ignoriert wird. Dies kann besonders nützlich sein, wenn es um die Priorisierung von Jobwarteschlangen zu einem bestimmten Zeitpunkt geht.
- 20 = Aktiv. Jobs mit aktiven Jobwarteschlangen werden normal ausgeführt. Standardmäßig haben alle Jobwarteschlangen den Status "Aktiv".
- 90 = Deaktiviert. Jobs mit deaktivierten Jobwarteschlangen erhalten immer noch Jobs, verarbeiten aber keine Datensätze. Jobs verbleiben in "Job. Historie anzeigen" (MNS320) im Status 00 = Nicht gestartet.
Änderungen am Jobwarteschlangenstatus werden erst nach fünf Minuten wirksam und ohne Neustart des Batchjob-Managers (CMNGJOB). Wenn die Änderung sofort wirksam sein muss, starten Sie CMNGJOB in "Subsystem-Job. Öffnen" (MNS051) neu.
Jobs zur Aufnahme in einer Jobwarteschlange vorbereiten
Wenn Sie einen Job in eine Jobwarteschlange (in einer Datei) stellen möchten, statt ihn unmittelbar an die Batchverarbeitung weiterzuleiten, müssen Sie die unten beschriebenen Schritte ausführen.
Sie müssen den Job im Subsystem einrichten und starten. Weitere Informationen dazu finden Sie unter M3 BE-Autojob-Beschreibungen.
Jobwarteschlange definieren
- Starten Sie "Jobwarteschlange. Öffnen" (MNS300). Geben Sie eine ID für die Jobwarteschlange an.
- Öffnen Sie Bild E. Füllen Sie das Feld Max. Jobs aktiv aus, um zu bestimmen, wie viele Jobs gleichzeitig in dieser Jobwarteschlange ausgeführt werden können.
- Geben Sie den Status der Jobwarteschlange an. Klicken Sie auf .
Job in Jobwarteschlange stellen
Starten Sie "Job. Jobwarteschlange verbinden" (MNS310). Geben Sie im Feld "Job" den Job an. Das Feld "Benutzer/Gruppe" gibt an, wer die Ausführung des Datenbankjobs steuert. Ein Leerfeld bedeutet "alle Benutzer".
- Öffnen Sie Bild E. Wählen Sie aus, in welche Jobwarteschlange der Job eingefügt werden soll.
- Wählen Sie eine Priorität für den Job aus.
- Wählen Sie Bestät.JobStart aus, wenn der Benutzer das Starten des Jobs bestätigen soll, und wählen Sie den zu verwendenden Bestätigungstyp aus.
- Aktivieren Sie das Kontrollfeld Jobhistorie sp., wenn in der Jobhistoriendatei die Jobhistorie gespeichert werden soll. Die gespeicherten Jobs werden in (MNS320) angezeigt. Klicken Sie auf .