Zschimmer GmbH Impressum und Kontakt

Scheduler     Erste Seite   –   Konfiguration in XML

  XML     API     Register


logo

XML-Element  <process>    (Konfiguration)

<process
file  = "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.

Exit-Code

Umgebungsvariablen

Der Scheduler übergibt Umgebungsvariablen:

SCHEDULER_CONFIGURATION_DIRECTORY
Dasselbe wie Spooler.configuration_directory.
SCHEDULER_HOST
Dasselbe wie Spooler.hostname.
SCHEDULER_JOB_CHAIN
Bei einem auftragsgesteuerten Job (<job order="yes">) spooler_task.order.job_chain.name.
SCHEDULER_JOB_CHAIN_CONFIGURATION_DIRECTORY
Pfad des Konfigurationsverzeichnisses der Jobkette; "", wenn die Jobkette nicht aus einem Konfigurationsverzeichnis stammt oder kein Auftrag vorliegt
SCHEDULER_JOB_CONFIGURATION_DIRECTORY
Dasselbe wie Job.configuration_directory.
SCHEDULER_JOB_NAME
Der Name des Jobs
SCHEDULER_ORDER_ID
Bei einem auftragsgesteuerten Job (<job order="yes">) spooler_task.order.id.
SCHEDULER_SUPERVISOR_HOST
Rechnername aus <config supervisor="…">
SCHEDULER_SUPERVISOR_PORT
Portnummer aus <config supervisor="…">
SCHEDULER_TASK_ID
Dassselbe wie spooler_task.id.
SCHEDULER_TASK_TRIGGER_FILES
Dasselbe wie spooler_task.trigger_files.
SCHEDULER_TCP_PORT
Wie Spooler.tcp_port oder leer, wenn kein Port festgelegt ist.
SCHEDULER_UDP_PORT
Wie Spooler.udp_port oder leer, wenn kein Port festgelegt ist.

Verhalten mit <base>

<process> darf nicht angegeben werden, wenn es bereits in der Basiskonfiguration steht.

Eltern-Elemente

<job>  

  – Definition eines Jobs

Attribute

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).

Beispiel  

<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">.

Kind-Elemente

<environment>  

  – Umgebungsvariablen

Die hier aufgeführten Umgebungsvariablen werden zusammen mit den Umgebungsvariablen des Scheduler-Prozesses dem neuen Prozess übergeben. Erste überschreiben letztere gleichen Namens.

Meldungen

[info] SCHEDULER-987 Starting process: program and arguments(1) 

Software- und Organisations-Service GmbH

Zuletzt geändert von Joacim Zschimmer, 2008-11-12