Scheduler Erste Seite |
Der Job Scheduler kann durch einen einfachen Aufruf gestartet werden:
C:\>…scheduler installation path…\bin\scheduler.exe …\my_scheduler_configuration.xml …
user@host:~>…installation path…/bin/scheduler …/my_scheduler_configuration.xml …
Die Parameter (rechts vom Gleichheitszeichen) der hier beschriebenen Kommandozeilenoptionen können in Anführungszeichen oder in Apostrophe gesetzt werden.
Das Installationsprogramm erzeugt das Startskript .\bin\jobscheduler.cmd (Windows) bzw. ./bin/jobscheduler.sh (Unix), in dem Kommandozeilenoptionen und Umgebungsvariablen bereits gesetzt werden. Das Startskript kann bei Bedarf angepasst werden.
Startskript und Umgebungsvariablen sind im Handbuch »Installation und Konfiguration« beschrieben.
scheduler
-config=dateiname
|
Konfigurationsdatei |
-log=dateiname
|
Dateiname des Protokolls scheduler.log |
-log-dir=verzeichnis
|
Verzeichnis der Protokolle |
-id=scheduler_id
|
Kennung des Job Schedulers |
-cd=verzeichnis
|
Arbeitsverzeichnis |
-pid-file=dateiname
|
Dateiname für Prozess-ID |
-log-level=log_level
|
Protokollausgaben beschränken |
-param=text
|
Zur freien Verwendung |
-include-path=verzeichnis
|
Verzeichnispfad für <include> |
-port=number
|
HTTP-, TCP- und UDP-Port für Kommandos an den Job Schedulers |
-tcp-port=number
|
HTTP- und TCP-Port für Kommandos an den Job Scheduler |
-udp-port=number
|
UDP-Port für Kommandos an den Job Scheduler |
-ip-address=ip_number
|
IP-Adresse der Schnittstelle für TCP und UDP |
-reuse-port |
TCP- und UDP-Port wiederverwenden |
-cmd=xmlkommando
|
Sofort auszuführendes Kommando |
-ini=dateiname
|
Anderer Pfad/ Name für Datei factory.ini |
-sos.ini=dateiname
|
Anderer Pfad/ Name für Datei sos.ini |
-program-file=dateiname
|
Dateiname des Schedulers |
-service |
Als Daemon starten |
-validate-xml |
XML-Dokumente gegen eingebettetes Schema validieren |
-env=name=value
|
Umgebungsvariable setzen |
-exclusive |
Startet den Job Scheduler für die exklusive Ausführung |
-backup |
Startet den Job Scheduler im Backup-Betrieb |
-backup-precedence=integer
|
Vorrang unter den Backup Job Schedulern |
-distributed-orders |
Verteilte Aufträge |
-configuraton-directory |
Konfigurationsverzeichnis |
Der Programmdateiname scheduler muss absolut und vollständig angegeben werden. Für Windows muss die Endung ".exe" angegeben werden, da der Job Scheduler den vollständigen Dateinamen benötigt, um einen Job oder sich selbst neu zu starten.
c:\bin\scheduler.exe c:\scheduler\config.xml -log-dir=c:\scheduler\logs
scheduler
-install-service=name
|
Als Windows-Dienst installieren |
-remove-service=name
|
Windows-Dienst entfernen |
-service-name=name
|
Interner Name des Windows-Dienstes |
-service-display=text
|
Angezeigter Name des Windows-Dienstes |
-service-descr=text
|
Beschreibung des Windows-Dienstes |
-need-service=name
|
Vom Scheduler vorausgesetzter Dienst |
scheduler
-scheduler=host:port
|
TCP-Adresse des Schedulers |
-log=dateiname
|
Dateiname des Protokolls scheduler.log |
-process-class=name
|
|
-language=script_language
|
Skriptsprache des Jobs |
-at=yyyy-mm-dd HH:MM
|
Startzeitpunkt |
Dem mit -scheduler=host:port adressierten Job Scheduler wird ein temporärer Job übergeben.
Bei einem Neustart des Job Schedulers geht der Job verloren.
echo ls -l | scheduler -scheduler=localhost:4444 -at="2006-04-04 12:00"
scheduler
-scheduler |
|
-log=dateiname
|
Dateiname des Protokolls scheduler.log |
-job-chain=name
|
Job-Kette |
-order-id=id
|
Kennung des Auftrags |
-title=text
|
Titel des Auftrags |
Dem mit -scheduler=host:port adressierten Job Scheduler wird ein Auftrag übergeben.
Die Parameter des Auftrags (s. Order.payload) können an der Kommandozeile in der Form name=value übergeben werden.
scheduler -scheduler=localhost:4444 -job-chain=my_job_chain -order-id=123 city=Berlin phone="+4930 864790-0"
scheduler
-tcp-port=number
|
HTTP- und TCP-Port für Kommandos an den Job Scheduler |
-send-cmd=xmlkommando
|
Anderem Job Scheduler zu schickendes Kommando |
scheduler
-kill |
Laufenden Job Scheduler mit kill abbrechen |
-kill=pid
|
Laufenden Job Scheduler mit kill abbrechen |
-pid-file=dateiname
|
Dateiname für Prozess-ID |
scheduler -kill -pid-file=/home/scheduler/scheduler.pid
scheduler
-show-xml-schema |
schreibt das XML-Schema nach stdout |
scheduler -show-xml-schema | less
scheduler
-expand-classpath |
Java-Classpath expandieren |
scheduler
Zeigt die Kommandozeilenoptionen.
Lässt den Job Scheduler beim Start Versionsnummer und Versionsdatum ausgeben.
-at=yyyy-mm-dd HH:MM (Initialwert: now) Startzeitpunkt
Startzeitpunkt in der Form "yyyy-mm-dd HH:MM[:SS]". Siehe <at at="…">.
Der Job wird nicht gestartet, wenn der Startzeitpunkt in der Vergangenheit liegt.
Maßgeblich ist die Uhr des Rechners, auf dem der Job Scheduler läuft.
-at=now ist voreingestellt und lässt den Job sofort starten.
-backup Startet den Job Scheduler im Backup-Betrieb
Nur mit -exclusive möglich.
Ein Backup Job Scheduler übernimmt den Betrieb nur, beginnt aber keinen neuen Betrieb. D.h. nach <terminate continue_exclusive_operation="no"> läuft er nicht an, sondern wartet auf einen anderen Job Scheduler, der den Betrieb startet.
Zusammem mit -install-service und -remove-service führt -backup zu einem eigenen Dienstenamen, so dass der Backup Job Scheduler als eigener Dienst auf demselben Rechner installiert werden kann.
Der Dateiname des Hauptprotokolls erhält den Zusatz "_backup".
-backup-precedence=integer (Initialwert: 1) Vorrang unter den Backup Job Schedulern
Nur mit -exclusive möglich.
Wenn mehrere inaktive Backup Job Scheduler einen ausgefallenen Job Scheduler ersetzen können, übernimmt der mit dem kleinsten Wert von -backup-precedence.
Wenn die Uhren nicht gleichlaufen, kann ein anderer Job Scheduler als der mit dem vorderen Rang den Betrieb übernehmen.
Mit der Option -backup ist die Voreinstellung 1, sonst 0.
-cd=verzeichnis Arbeitsverzeichnis
-cmd=xmlkommando Sofort auszuführendes Kommando
Der Job Scheduler führt beim Start das XML-Kommando aus. Das kann z.B. ein <start_job> sein.
-config=dateiname Konfigurationsdatei
Gibt die Konfigurationsdatei an.
"-config=" vor dem Dateinamen kann weggelassen werden.
Die Option gibt die Konfigurationsdatei oder das Konfigurationsverzeichnis an. Im letzteren Fall erwartet der Scheduler die Konfigurationsdatei im Konfigurationsverzeichnis unter dem Namen scheduler.xml.
| Die Einstellung |
factory.ini (Abschnitt [spooler], Eintrag config=…)
|
wird damit überschrieben |
-configuraton-directory Konfigurationsverzeichnis
Voreingestellt ist das Verzeichnis live im Verzeichnis der Konfigurationsdatei (-config).
Diesem Verzeichnis entnimmt der Job Scheduler Jobs, Job-Ketten, Daueraufträge, Prozessklassen und Sperren.
-distributed-orders Verteilte Aufträge
Voraussetzung ist Datenbankbetrieb (-id), derselben Datenbank und derselben Konfiguration können gestartet werden, die sich die Ausführung der Aufträge teilen.
Mit <job_chain distributed="yes"> lassen sie eine Job-Kette für den verteilten Betrieb zu.
-env=name=value Umgebungsvariable setzen
-env=NAME=VALUE setzt die Umgebungsvariable NAME.
Die Option kann mehrfach angegeben werden.
-exclusive Startet den Job Scheduler für die exklusive Ausführung
Voraussetzung ist Datenbankbetrieb, siehe factory.ini (Abschnitt [spooler], Eintrag db=…).
Mehrere Job Scheduler mit derselben Scheduler-Id (-id) und derselben Datenbank können mit -exclusive gestartet werden, wobei nur einer aktiv wird. Erst wenn der aktive Job Scheduler ausfällt oder einzeln beendet wird (<terminate continue_exclusive_operation="yes">), wird ein anderer Job Scheduler aktiv. Die Übernahme kann einige Minuten dauern.
Vorsicht: Alle beteiligten Job Scheduler müssen mit -exclusive oder -distributed-orders gestartet werden. Wenn ein Job Scheduler mit und einer ohne die Einstellung gestartet wird, laufen zwei Job Scheduler gleichzeitig, was zu unerwarteten Ergebnissen führen kann.
Siehe auch -backup.
-expand-classpath Java-Classpath expandieren
Expandiert den als Parameter angegebenen Java-Classpath, d.h. die Joker werden verarbeitet wie sos.ini (Abschnitt [java], Eintrag class_path=…).
Das Ergebnis schreibt der Job Scheduler nach stdout. Wenn keine weiteren Optionen es verlangen, beendet sich der Job Scheduler ohne weitere Ausgaben.
export CLASSPATH="`scheduler -expand-classpath='/opt/java/lib/*.jar'`"
Zeigt die Kommandozeilenoptionen.
-id=scheduler_id Kennung des Job Schedulers
Der Job Scheduler wählt nur die Elemente der XML-Konfiguration aus, deren Attribut spooler_id leer ist oder denselben Wert wie in dieser Einstellung enthält.
Wenn die Scheduler-ID nicht angegeben ist, beachtet der Job Scheduler das XML-Attribut spooler_id= nicht und wählt alle Elemente der XML-Konfiguration aus.
Siehe z.B. <config>.
| Die Eigenschaft | Spooler.id |
liest die Einstellung |
| Die Einstellung |
factory.ini (Abschnitt [spooler], Eintrag id=…)
|
wird damit überschrieben |
-include-path=verzeichnis Verzeichnispfad für <include>
Verzeichnis der Dateien, die mit <include> eingezogen werden.
Umgebungsvariablen (z.B. $HOME) werden ersetzt (siehe hier).
| Die Eigenschaft | Spooler.include_path |
liest die Einstellung |
| Die Einstellung |
factory.ini (Abschnitt [spooler], Eintrag include_path=…)
|
wird damit überschrieben |
| Das XML-Attribut |
<config include_path="…">
|
wird damit überschrieben |
-ini=dateiname Anderer Pfad/ Name für Datei factory.ini
Wählt eine andere Datei für die Datei factory.ini aus.
In dieser Dokumentation ist dann mit der Datei factory.ini die hier eingestellte gemeint.
Siehe auch Spooler.ini_path
-install-service=name Als Windows-Dienst installieren
Die Option startet nicht den Job Scheduler, sondern installiert ihn als Windows-Dienst. Dabei werden folgende Optionen aus der Kommandozeile übernommen:
-cd-config-id-ini-log-pid-file-sos.ini-env
-install-service=name ist dasselbe wie -install-service -service-name=name.
-ip-address=ip_number (Initialwert: 0.0.0.0) IP-Adresse der Schnittstelle für TCP und UDP
Die IP-Adresse, an die TCP- und UDP-Port gebunden werden. Der Job Scheduler ist dann nur über diese IP-Adresse erreichbar.
Ein Hostname kann angegeben werden.
Default ist 0.0.0.0, was für alle IP-Adressen steht.
Wenn eine andere IP-Adresse als 127.0.0.1 oder localhost angegeben ist, kann der Job Scheduler nicht über localhost erreicht werden.
| Das XML-Attribut |
<config ip_address="…">
|
wird damit überschrieben |
Name der Job-Kette für den Auftrag, siehe <add_order job_chain="…">.
-kill Laufenden Job Scheduler mit kill abbrechen
Bricht den Job Scheduler mit kill -SIGKILL ab, dessen Prozess-Id in der mit -pid-file angegebenen Datei steht.
-kill=pid Laufenden Job Scheduler mit kill abbrechen
Bricht den Prozess mit der PID mit kill -SIGKILL ab.
-language=script_language (Initialwert: shell) Skriptsprache des Jobs
Skriptsprache, siehe <script language="…">.
-log=dateiname Dateiname des Protokolls scheduler.log
Wenn diese Einstellung gesetzt ist, schreibt der Job Scheduler ein detailliertes Protokoll zur Fehlerdiagnose in die Datei. Geben Sie den Dateinamen absolut an (als vollständigen Pfad).
Ein Plus (+) direkt vor dem Dateinamen lässt ein vorhandenenes Protokoll fortsetzen. Sonst wird es überschrieben.
Sie können das Protokoll mit Kategorien erweitern oder einschränken. Schreiben Sie die Namen der Kategorien mit Zwischenräumen getrennt vor den Dateinamen, den Sie mit einem Größerzeichen (>) einleiten.
Hier ist die Liste der Kategorien.
| Die Einstellung |
factory.ini (Abschnitt [spooler], Eintrag log=…)
|
wird damit überschrieben |
log = c:/tmp/scheduler.log log = scheduler.wait >scheduler.log log = scheduler.wait com_server.* >scheduler.log
-log-dir=verzeichnis Verzeichnis der Protokolle
In dieses Verzeichnis schreibt der Job Scheduler seine Protokolle.
log_dir=*stderr lässt den Job Scheduler die Protokollausgabe nach stderr (auf den Bildschirm) schreiben.
Umgebungsvariablen (z.B. $HOME) werden ersetzt (siehe hier).
| Die Eigenschaft | Spooler.log_dir |
liest die Einstellung |
| Die Einstellung |
factory.ini (Abschnitt [spooler], Eintrag log_dir=…)
|
wird damit überschrieben |
-log-level=log_level (Initialwert: info) Protokollausgaben beschränken
Legt fest, ab welcher Stufe der Job Scheduler Protokollzeilen ausgibt. Jede Protokollzeile ist auf einer der folgenden Stufen: error, warn, info, debug1 bis debug9 (debug1 ist dasselbe wie debug).
| Die Eigenschaft | Log.level |
hat Vorrang |
| Die Einstellung |
factory.ini (Abschnitt [job], Eintrag log_level=…)
|
wird damit überschrieben |
| Die Einstellung |
factory.ini (Abschnitt [spooler], Eintrag log_level=…)
|
wird damit überschrieben |
-need-service=name Vom Scheduler vorausgesetzter Dienst
In Verbindung mit -install-service können Sie hier einen anderen Dienst angegeben, der laufen soll, bevor Windows den Job Scheduler Dienst startet. Das kann z.B. ein Datenbank-Server sein.
Diese Option kann wiederholt angegeben werden, wenn der Job Scheduler mehrere Dienste voraussetzt.
-order-id=id Kennung des Auftrags
Kennung des Auftrags, siehe <add_order id="…">.
-param=text Zur freien Verwendung
Zur freien Verwendung. Der Parameter ist in den Skripten über spooler.param lesbar.
| Die Eigenschaft | Spooler.param |
liest die Einstellung |
| Die Einstellung |
factory.ini (Abschnitt [spooler], Eintrag param=…)
|
wird damit überschrieben |
-pid-file=dateiname Dateiname für Prozess-ID
Für Unix: In diese Datei schreibt der Job Scheduler seine PID. Beim Beenden löscht der Job Scheduler die Datei.
-port=number (Initialwert: 0) HTTP-, TCP- und UDP-Port für Kommandos an den Job Schedulers
Fasst die Einstellungen tcp_port und udp_port zusammen.
Siehe auch -tcp-port und -udp-port.
Wenn der Port blockiert ist, versucht der Job Scheduler zwei Minuten lang, ihn zu belegen, bevor er aufgibt.
| Das XML-Attribut |
<config port="…">
|
wird damit überschrieben |
Name der Prozessklasse für den temporären Job, siehe <job process_class="…">.
-program-file=dateiname Dateiname des Schedulers
Beim Aufruf des Job Schedulers aus einer Java-Klasse heraus (zum Debuggen) geben Sie hier den Programmdateinamen an, wenn der Job Scheduler Jobs in eigenen Prozessen starten können soll.
-remove-service=name Windows-Dienst entfernen
Entfernt einen zuvor mit -install-service installierten Dienst.
-remove-service=name ist dasselbe wie -remove-service -service-name=name.
-reuse-port TCP- und UDP-Port wiederverwenden
Die Option soll nur in Ausnahmefällen benutzt werden, sie schaltet die Prüfung ab, ob ein Port vom Betriebssystem freigegeben ist.
Ruft setsockopt(socket,SOL_SOCKET,SO_REUSEADDR,true).
Die Option sollte nur im Notfall benutzt werden, falls das Betriebssystem den Port dauerhaft sperrt, obwohl keine Anwendung ihn mehr belegt. Das kann unter Windows XP passieren, wenn die Anwendung mit einem Debugger abgebrochen wird. Unix kann ggf. fast eine Minute benötigen, um einen Port freizugeben.
U.U. ist der Job Scheduler mit -reuse-port über TCP oder UDP nicht erreichbar, wenn statt dessen der Port einer anderen Anwendung angesprochen wird.
-scheduler=host:port TCP-Adresse des Schedulers
Rechnername (oder IP-Nummer) und Portnummer des anzusprechenden Job Schedulers.
-send-cmd=xmlkommando Anderem Job Scheduler zu schickendes Kommando
Mit dieser Option startet der Job Scheduler nicht, sondern schickt einem anderen Job Scheduler mit gleicher Option -tcp-port= auf demselben Rechner das XML-Kommando. Das kann z.B. ein <terminate> sein: -send-cmd="<terminate/>"
Das Kommando wird an die mit <config ip_address="…"> eingestellte IP-Adresse geschickt, oder, wenn diese fehlt, an 127.0.0.1.
Unter Unix versetzt sich der Job Scheduler in den Hintergrund und trennt sich vom Terminal. stdout und stderr sollten in eine Datei umgeleitet werden, damit Ausgaben nicht verloren gehen.
-service-descr=text Beschreibung des Windows-Dienstes
Nur in Verbindung mit -install-service.
-service-display=text Angezeigter Name des Windows-Dienstes
Nur in Verbindung mit -install-service. Die Dienstesteuerung von Windows zeigt diesen Namen. Er darf Leerzeichen enthalten. Wenn die Option fehlt, erzeugt der Scheduler einen aus dem Dienstnamen (s. -service-name=).
-service-name=name (Initialwert: sos_scheduler) Interner Name des Windows-Dienstes
Nur in Verbindung mit -install-service oder -remove-service. Wenn diese Option fehlt und -id= angegeben ist, verwendet der Job Scheduler den Namen sos_scheduler_scheduler_id. Bei -backup fügt er _backup hinzu.
-show-xml-schema schreibt das XML-Schema nach stdout
Der Job Scheduler verfügt über ein eingebautes XML-Schema, dem die XML-Kommandos und die XML-Konfiguration entsprechen müssen.
Siehe XML-Schema des Job Schedulers.
-sos.ini=dateiname Anderer Pfad/ Name für Datei sos.ini
Wählt eine andere Datei für globale Konfigurationen sos.ini aus. Diese Datei enthält u.a. den Lizenzschlüssel.
-tcp-port=number (Initialwert: 0) HTTP- und TCP-Port für Kommandos an den Job Scheduler
Der Job Scheduler kann auf einem TCP-Port während des Betriebs Kommandos entgegennehmen. Hier kann eine Portnummer eingestellt werden. Die Portnummer ist eine Zahl zwischen 2048 (betriebssystemabhängig) und 65535. Die Voreinstellung lautet 4444.
Über denselben Port betreibt der Job Scheduler einen HTTP/HTML-Server, so dass er über einen Browser ansprechbar ist, z.B. http://localhost:4444.
Bei tcp_port=0 (voreingestellt) ist der Job Scheduler nicht über TCP oder HTTP ansprechbar. Damit kann die Steuerung des Job Schedulers per TCP-Kommando, z.B. über eine Web-Seite, unterbunden werden.
Siehe auch -port.
| Die Eigenschaft | Spooler.tcp_port |
liest die Einstellung |
| Das XML-Attribut |
<config tcp_port="…">
|
wird damit überschrieben |
-title=text Titel des Auftrags
Dem Auftrag kann ein Titel gegeben werden. Siehe <add_order title="…">.
-udp-port=number (Initialwert: 0) UDP-Port für Kommandos an den Job Scheduler
Auch über UDP kann der Job Scheduler Kommandos entgegennehmen. Hier wird die Portnummer angegeben. Ein Kommando muss in eine Nachricht passen. Der Job Scheduler schickt keine Antwort.
Bei udp_port=0 (voreingestellt) öffnet der Job Scheduler keinen UDP-Port.
Siehe auch -port.
| Die Eigenschaft | Spooler.udp_port |
liest die Einstellung |
| Das XML-Attribut |
<config udp_port="…">
|
wird damit überschrieben |
-validate-xml XML-Dokumente gegen eingebettetes Schema validieren
-validate-xml- schaltet die Validierung ab (für den Fall, dass das Schema fehlerhaft ist).
Siehe -show-xml-schema.
Zuletzt geändert von ur, 2008-03-03 |