Zschimmer GmbH Impressum und Kontakt

Scheduler     Erste Seite

  XML     API     Register


logo

Externe Job-Verarbeitung

Jobs können auf einem entfernten Job Scheduler ausgeführt werden.

Entfernt ausgeführte Jobs verhalten sich gegenüber dem aufrufenden Job Scheduler so wie lokal ausgeführte Jobs. Lediglich die Rechenlast wird auf einen anderen Job Scheduler übertragen.

Das bedeutet z.B., dass alle API-Aufrufe sich auf das lokale Job Scheduler Objekt beziehen.

Die Protokollausgaben des Jobs, sowie der Endzustand und eventuelle Fehler werden an den aufrufenden Job Scheduler geleitet.

Verwendung

Überwiegend werden Job Scheduler mit der Ausführung von Jobs beauftragt, die auf einem anderen physikalischen Rechner installiert sind.

Beispiele für die Verwendung:

  1. Das Verfahren dient dem Load Balancing.
  2. Es können Software-Installationen verwendet werden, die sich nicht auf dem lokalen Rechner befinden.
  3. Es können Hardware-Komponenten verwendet werden, die nur von einem anderen Rechner erreichbar sind (z.B. Drucker).

Voraussetzungen

  1. Einstellungen in der Firewall

    Der lokale Job Scheduler muss den entfernten Job Scheduler erreichen können. Alle Sicherheitseinstellungen in den Firewalls müssen das berücksichtigen. Für die Kommunikation in Richtung entfernter Job Scheduler muss der Port des entfernten Rechners in der Firewall freigeschaltet sein. In der entgegengesetzten Richtung verbindet sich die Task mit dem aufrufenden Job Scheduler über einen Port <5999 abwärts zählend pro laufende Task. Entsprechend der erwarteten Anzahl Tasks müssen diese Ports in der Firewall freigeschaltet sein.

  2. Security-Einstellungen in der Job Scheduler Konfiguration

    Der entfernte Job Scheduler muss im Security Element den aufrufenden Job Scheduler legitimieren.

    Beispiel

    <security ignore_unknown_hosts="no">
        <allowed_host host="123.456.89.1" level="all"/>
    </security>
              

  3. Beide Job Scheduler müssen gestartet sein.

Konfiguration

Die Job-Definition steht in der Konfigurationsdatei des lokalen, aufrufenden Job Scheduler.
Um einen Job auf einem anderen Job Scheduler ausführen zu lassen, sind beim lokalen, aufrufenden Job Scheduler folgende Konfigurationen nötig:

  1. Es muss eine Prozessklasse angelegt werden, und in ihr das Attribut <process_class remote_scheduler=""> gesetzt sein. Dadurch werden alle Jobs, die dieser Prozessklasse zugeordnet sind, extern ausgeführt.

    Beispiel
    <process_classes>
        <process_class name="remote"
                       max_processes="3"
                       remote_scheduler="remoteHost:4445"/>
    </process_classes>
              
  2. Der Job muss der Prozessklasse zugeordnet werden,
    siehe <job process_class="…">

Monitor-Script

Die zu einem Job gehörenden Monitor-Scripte werden ebenfalls am entfernten Job Scheduler ausgeführt. So gibt z.B. dieses Testscript den Rechnernamen des entfernten Rechners aus.

function spooler_process_before() {
     spooler_log.info("host:tcp_port:" + spooler.tcp_port);
     var  localhost = new java.net.InetAddress.getLocalHost();
     hostname = localhost.getHostName();
     ip = localhost.getHostAddress();
     spooler_log.info("==>" + hostname + ":::"+ ip);
     return true;
  }
      

Kontext der API-Aufrufe

Alle API-Aufrufe beziehen sich auf den lokalen, aufrufenden Job Scheduler. Allerdings liefern einige Methoden Werte des entfernten Job Schedulers und nicht des aufrufenden Job Schedulers zurück:

Konfigurations-Dateien>

Alle Einstellungen werden beim lokalen, aufrufenden Job Scheduler gelesen.

Einige Einstellungen werden vom entfernten statt vom lokalen, aufrufenden Job Scheduler übernommen:

Protokolldateien

Protokollausgaben werden in die Dateien des lokalen, aufrufenden Job Schedulers geschrieben. Das betrifft sowohl das Auftragsprotokoll als auch das Task-Protokoll. Ausgaben nach stdout und stderr werden in die Protokolldateien des lokalen, aufrufenden Job Schedulers übernommen. Andere Protokollausgaben, die der Job Scheduler protokolliert, werden in die Protokolldatei des entfernten Job Schedulers geschrieben.


Software- und Organisations-Service GmbH

Zuletzt geändert von fs,ur, 2007-04-20