Allgemein
Ein Job Server ist ein BICsuite Systemprozess, der auf allen Rechnern, die als ausführende Einheiten des BICsuite Scheduling Systems definiert wurden, laufen muss. Wird einem Job Server durch den BICsuite Server ein Ablaufobjekt zum Ausführen zugeteilt, führt der Job Server das in der Job Definition angegebene Skript oder Programm in der gewünschten Umgebung mit den notwendigen Parametern aus. Der Job Server überwacht das Programm und gibt den Rückkehrstatus des Skripts oder Programms an den BICsuite Server zurück.

Aus Sicherheitsgründen laufen diese Job Server nicht mit Administrator-, bzw. Root-Rechten. Betriebssystem-User und Umgebung der von einem Job Server ausgeführten Jobs ergeben sich aus der Umgebung des Job Server-Starts. Das bedeutet, dass falls auf ein und demselben Rechner Jobs mit unterschiedlichem Kontext (User- oder Umgebungsvariablen) mehrere Job Server auf einer Maschine konfiguriert und ausgeführt werden müssen. Es besteht die Möglichkeit, dies durch einen Wrapper so zu gestalten, dass ein Job Server Jobs in unterschiedlichen Kontexten ausführen kann. Allerdings raten wir von solch einer Installation ab, da dies die Gefahr eines Missbrauchs, bzw. das Sicherheitsrisiko erhöht.
Job Server werden in einer hierarchischen Struktur verwaltet, deren Blätter die Job Server sind und deren Knoten Scopes genannt werden (vergleichbar einem Ordner in einem Dateisystem). Das Ordnungskriterium dieser Hierarchie ist benutzerdefiniert. Häufig bildet die Job Server-Hierarchie die physische Struktur der System-Umgebung ab (z.B. Rechenzentrum -> Rechner -> User). Alternativ kann die Organisationsstruktur anhand anderer Ordnungskriterien (z.B. Unternehmensstruktur, Projektstruktur, etc.) abgebildet werden. Der Dialog Job Server and Resources dient dem Aufbau und der Verwaltung dieser Scope- und Job Server-Struktur und deren Eigenschaften. Ein wichtiger Aspekt dieser Eigenschaften ist die Bereitstellung von Ressourcen für Jobs auf den jeweiligen Job Servern. Zusätzlich zur Konfiguration eines Job Servers in diesem Dialog muss der Job Server natürlich auf der Maschine, auf der er Jobs zur Ausführung bringen soll, auf Systemebene installiert und konfiguriert werden.
-
SCOPE
Ein Scope ist eine Kategorie, unter der Job Server gruppiert und hierarchisch geordnet werden können. Dies könnte zum Beispiel ein Hostrechner sein, oder auf noch höherer Ebene alle Rechner der Abteilung oder alle Windows basierten Rechner. Der Aufbau und die Tiefe der Hierarchie kann je nach Systemlandschaft angepasst werden und sollte diese widerspiegeln. -
SERVER
Bei dem Objekt handelt es sich um einen physikalischen Job Server. Der physikalische Prozess muss sich unter dem gewählten Namen beim BICsuite System anmelden und damit die Verbindung zu dieser Job Server-Definition schaffen.
So kann zum Beispiel jeder physikalische Hostrechner als Scope, und alle auf diesem Rechner benötigten Ablaufumgebungen als Job Server unterhalb dieses Scopes definiert werden. Falls die Systemlandschaft komplexer ist, sind weitere Ebenen für Abteilungen, Systemarchitekturen (Unix, Windows) oder ähnliches hilfreich. Auf jeder Hierarchieebene können den Scopes und Job Servern Ressourcen zugeordnet werden. Diese Ressourcen stehen dann allen untergeordneten Job Servern zur Verfügung.
Beispiel
Auf der Ebene eines Hosts wird die System Ressource CPU_UNITS mit einem Wert von 5 eingetragen. Werden auf dem Rechner 2 Job Server angelegt, stehen den beiden Job Servern diese 5 CPU Einheiten gemeinsam zur Verfügung. Belegt ein Job Server durch die Ausführung eines Jobs 3 CPU Einheiten, stehen dem anderen Job Server nur noch 2 CPU Einheiten zur Verfügung. Dieses Verhalten ist jedoch nicht additiv. Wird auf einem der oben genannten Job Server ebenfalls die Ressource CPU_UNITS angelegt, etwa mit einem Wert von 3, stehen diesem Job Server ausschließlich diese 3 CPU_UNITS zur Verfügung. Dem anderen Job Server stehen demnach dann 5 CPU_UNITS vom übergeordneten Scope zur Verfügung.
Navigator
Der Navigator bietet eine hierarchische Darstellung, in der Scopes als Ordner definiert werden. Innerhalb der Scopes befinden sich die Job Server.
Editor für Scopes und Server
Wird im Navigator ein Scope oder Server ausgewählt, öffnet sich der Scope-, bzw. Server-Editor. Die genaue Beschreibung finden Sie im Kapitel Admin / Job Server and Resources / Editor für Scopes und Server.
Editor für Ressourcen
Im Editor für Scopes und Server können Ressourcen instanziiert und verwaltet werden. Die Eigenschaften von Ressourcen werden im Ressourcen-Editor festgelegt. Die genaue Beschreibung finden Sie im Kapitel Admin / Job Server and Resources / Editor für Ressourcen.
Starten eines Job Servers
Um auf einem Rechner im Netzwerk einen Job Server zu starten, ist eine Client-Installation von schedulix, bzw. BICsuite erforderlich. Damit steht das Script jobserver-run (Linux) bzw. RUN_JOBSERVER.BAT (Windows) zum Starten eines Job Servers zur Verfügung. Das Script zum Starten des Job Servers benötigt eine Konfigurationsdatei, die als Parameter übergeben wird.
Diese Datei hat folgendes Format:
RepoHost= localhost RepoPort= 2506 RepoUser= "GLOBAL.'EXAMPLES'.'LOCALHOST'.'SERVER'" RepoPass= server
RepoHost und RepoPort sind mit dem Hostnamen und Port zu belegen, über den der Scheduling-Server erreicht werden kann. RepoUser und RepoPass beziehen sich auf den vollen Pfadnamen (Pfad.Name) und das Passwort des Job Servers, wie es im Bereich Eigenschaften im Editor für Job Server definiert wurde. Der Aufruf hat dann die Form:
jobserver-run Konfigurationsdateiname
bzw.
RUN_JOBSERVER.BAT Konfigurationsdateiname