Scheduler Erste Seite – Konfiguration in XML |
<processfile |
= "filename"
|
Pfad des auszuführenden Programms |
ignore_error |
= "yes|no"
|
|
ignore_signal |
= "yes|no"
|
|
log_file |
= "dateiname"
|
|
param |
= "text"
|
Parameterzeile |
><environment ...> |
Umgebungsvariablen |
</process>
Beim Start des Jobs, also zu Beginn einer Task, wird ein Prozess eingerichtet. Der Job Scheduler überwacht den Prozess und beendet die Task nachdem der Prozess sich beendet hat.
Task.exit_code bereitgestellt und entscheidet über die anschließend auszuführenden Kommandos. Siehe hierzu <job><commands on_exit_code="…">. Der Scheduler übergibt Umgebungsvariablen:
SCHEDULER_CONFIGURATION_DIRECTORY Spooler.configuration_directory. SCHEDULER_HOST Spooler.hostname. SCHEDULER_JOB_CHAIN <job order="yes">) spooler_task.order.job_chain.name. SCHEDULER_JOB_CHAIN_CONFIGURATION_DIRECTORY "", wenn die Jobkette nicht aus einem Konfigurationsverzeichnis stammt oder kein Auftrag vorliegt SCHEDULER_JOB_CONFIGURATION_DIRECTORY Job.configuration_directory. SCHEDULER_JOB_NAME SCHEDULER_ORDER_ID <job order="yes">) spooler_task.order.id. SCHEDULER_SUPERVISOR_HOST <config supervisor="…"> SCHEDULER_SUPERVISOR_PORT <config supervisor="…"> SCHEDULER_TASK_ID spooler_task.id. SCHEDULER_TASK_TRIGGER_FILES spooler_task.trigger_files. SCHEDULER_TCP_PORT Spooler.tcp_port oder leer, wenn kein Port festgelegt ist. SCHEDULER_UDP_PORT Spooler.udp_port oder leer, wenn kein Port festgelegt ist. <base>
<process> darf nicht angegeben werden, wenn es bereits in der Basiskonfiguration steht.
– Definition eines Jobs |
file="filename" Pfad des auszuführenden Programms
Name der Datei, die das Programm oder das Skript enthält, mit dem der Prozess gestartet werden soll. Die Datei muss vom Betriebssystem ausführbar sein.
Umgebungsvariablen (z.B. $HOME) werden ersetzt (siehe hier).
param="text" Parameterzeile
Gibt den Parameterstring an, der dem Prozess übergeben wird. Außer den Umgebungsvariablen werden können auch die Task-Parameter mit $name oder ${name} abgerufen werden.
Die in <environment> aufgeführten Variablen haben keinen Einfluss auf die Ersetzung.
Umgebungsvariablen (z.B. $HOME) werden ersetzt (siehe hier).
<process file="/tmp/test.cmd" param="EINS=$EINS ZWEI=$ZWEI HOME=$HOME LOG=$LOG PATH=$PATH">
<environment>
<variable name="PATH" value="$PATH;/extra"/> <!-- not used for param="" -->
</environment>
</process> var params = spooler.create_variable_set(); params.value( "EINS" ) = "1"; params.value( "ZWEI" ) = "2"; spooler.job( "process" ).start( params );
log_file="dateiname"
Der Scheduler übernimmt nach Prozessende den Inhalt dieser Datei in sein Protokoll.
Umgebungsvariablen (z.B. $HOME) werden ersetzt (siehe hier).
ignore_error="yes|no" (Initialwert: no)
Bei ignore_error="no" (Voreinstellung) führt ein Exit code ≠ 0 zu einem Jobfehler. Der Job wird gestoppt.
Bei ignore_error="yes" führt ein Exit code ≠ 0 nicht zu einem Jobfehler.
ignore_signal="yes|no" (Initialwert: no)
Wirkt nur unter Unix. (Unter Windows liefert ein abgebrochener Prozess einen Exit code, der von ignore_error="" berücksichtigt wird.)
Bei ignore_signal="no" (Voreinstellung) führt ein Signal (d.h. ein Abbruch des Prozesses, z.B. durch kill) zu einem Jobfehler. Der Job wird gestoppt.
Bei ignore_signal="yes" führt ein Signal nicht zu einem Jobfehler.
ignore_signal="yes" hat dieselbe Wirkung wie <job ignore_signals="all">.
– Umgebungsvariablen |
Die hier aufgeführten Umgebungsvariablen werden zusammen mit den Umgebungsvariablen des Scheduler-Prozesses dem neuen Prozess übergeben. Erste überschreiben letztere gleichen Namens.
Zuletzt geändert von Joacim Zschimmer, 2008-11-12 |