Zschimmer GmbH Impressum und Kontakt

Job Scheduler     Erste Seite

  XML     API     Register


logo

Spooler - Programmschnittstelle (API)

JavaJavaScriptVBScriptPerl Javadoc
   

Spooler

 

spooler.abort_immediately() Bricht den Scheduler augenblicklich ab
 
spooler.abort_immediately_and_restart() Bricht den Scheduler augenblicklich ab und startet ihn neu.   
 
spooler.add_job_chain( Job_chain )
 
string   spooler.configuration_directory Pfad des Konfigurationsverzeichnisses
 
Job_chain   spooler.create_job_chain()
 
Order   spooler.create_order()
 
Variable_set   spooler.create_variable_set()
 
Xslt_stylesheet   spooler.create_xslt_stylesheet( xml )
 
string   spooler.db_history_table_name Name der Datenbanktabelle für die Historie
 
string   spooler.db_name Hostware-Pfad der Datenbank
 
string   spooler.db_order_history_table_name Name der Datenbanktabelle für die Auftragshistorie
 
string   spooler.db_orders_table_name Name der Datenbanktabelle für die Aufträge
 
string   spooler.db_tasks_table_name Name der Datenbanktabelle für die Tasks
 
string   spooler.db_variables_table_name Name der Datenbanktabelle für interne Variablen des Schedulers
 
string   spooler.directory Das Arbeitsverzeichnis beim Start des Schedulers
 
string   spooler.execute_xml( xml ) Führt ein XML-Kommando aus
 
string   spooler.hostname Name des Rechners, auf dem der Scheduler läuft.
 
string   spooler.id Wert der Kommandozeilenoption -id=
 
string   spooler.include_path Liefert die Kommandozeilenoption -include-path=.
 
string   spooler.ini_path Wert der Option -ini= (Dateiname der factory.ini)
 
boolean   spooler.is_service
 
Job   spooler.job( job_name ) Liefert einen Job
 
Job_chain   spooler.job_chain( name ) Liefert eine Jobkette
 
boolean   spooler.job_chain_exists( name )
 
spooler.let_run_terminate_and_restart()
 
Locks   spooler.locks Liefert die Locks
 
Log   spooler.log Das Hauptprotokoll
 
string   spooler.log_dir Verzeichnis der Protokolle
 
string   spooler.param Kommandozeilenoption -param=
 
Process_classes   spooler.process_classes Liefert die Prozessklassen
 
Schedule   spooler.schedule( path ) Liefert den benannten Schedule oder null
 
Supervisor_client   spooler.supervisor_client Liefert den Supervisor_client
 
int   spooler.tcp_port HTTP- und TCP-Port für Kommandos an den Job Scheduler
 
spooler.terminate( timeout, restart, all_schedulers, continue_exclusive_operation ) Scheduler mit allen Tasks ordentlich beenden
 
spooler.terminate_and_restart( timeout ) Scheduler mit allen Tasks ordentlich beenden und erneut starten
 
int   spooler.udp_port UDP-Port für Kommandos an den Job Scheduler
 
Variable_set   spooler.variables Die Scheduler-weiten Variablen als Variable_set

 

Von dieser Klasse gibt es nur ein Objekt: spooler.

 

abort_immediately

Bricht den Scheduler augenblicklich ab

 

spooler.abort_immediately()

 

  

   Bricht den Scheduler augenblicklich ab. Kein Job hat Gelegenheit, darauf zu reagieren.   

  

Der Scheduler bricht zuvor alle gestarteten Prozesse ab. Das sind die Tasks und die Prozesse von Task.create_subprocess() und Task.add_pid().   

  

Siehe <modify_spooler cmd="abort_immediately"> und Beendigung des Schedulers.   

  

abort_immediately_and_restart

Bricht den Scheduler augenblicklich ab und startet ihn neu.   

 

spooler.abort_immediately_and_restart()

 

  

Wie Spooler.abort_immediately(), nur dass der Scheduler sich erneut startet. Dabei verwendet er die Kommandozeilenparameter wieder.   

  

Siehe <modify_spooler cmd="abort_immediately_and_restart"> und Beendigung des Schedulers.   

  

add_job_chain

 

spooler.add_job_chain( Job_chain )

 

Bei Job_chain.orders_recoverable=true lädt der Scheduler die Aufträge der Jobkette aus der Datenbank.

Siehe Spooler.create_job_chain() und <job_chain>.

Parameter

Job_chain

configuration_directory

Pfad des Konfigurationsverzeichnisses

 

string   spooler.configuration_directory

 

Das XML-Attribut <config configuration_directory="…"> wird damit überschrieben

create_job_chain

 

Job_chain   spooler.create_job_chain()

 

Liefert eine neue Job_chain. Diese Jobkette kann, nachdem sie mit Jobs gefüllt worden ist, mit Spooler.add_job_chain() dem Scheduler hinzugefügt werden

Siehe <job_chain>.

Rückgabe

Job_chain  

create_order

 

Order   spooler.create_order()

 

Erzeugt einen neuen Auftrag. Dieser Auftrag kann mit Job_chain.add_order() einer Jobkette übergeben werden.

Rückgabe

Order  

create_variable_set

 

Variable_set   spooler.create_variable_set()

Rückgabe

Variable_set  

create_xslt_stylesheet

 

Xslt_stylesheet   spooler.create_xslt_stylesheet( string xml  (optional) )

Parameter

xml  (optional)

XSLT-Stylesheet als XML-String

Rückgabe

Xslt_stylesheet  

db_history_table_name

Name der Datenbanktabelle für die Historie

 

string   spooler.db_history_table_name

 

Die Einstellung factory.ini (Abschnitt [spooler], Eintrag db_history_table=…) wird damit überschrieben

db_name

Hostware-Pfad der Datenbank

 

string   spooler.db_name

 

Verbindungszeichenfolge der Datenbank für die Historienführung. Der Job Scheduler unterstützt ODBC (Windows) und JDBC für den Zugriff auf Datenbanken. Ohne Eintrag werden Dateien im .csv-Format erzeugt, siehe factory.ini (Abschnitt [spooler], Eintrag history_file=…).

Unter Windows kann ein einfacher Dateiname angegebenen werden, der auf .mdb endet (z.B. scheduler.mdb). Der Job Scheduler verwendet dann eine Microsoft MS-Access Datenbank dieses Namens, die im Protokollverzeichnis (s. Option -log-dir) liegt. Der Job Scheduler richtet die Datei ein, wenn sie fehlt.

Der Job Scheduler richtet die Tabellen selbständig ein.

Die Einstellung factory.ini (Abschnitt [spooler], Eintrag db=…) wird damit überschrieben

Beispiel  

;    SQL Server 2000 via msbase.jar, msutil.jar, mssqlserver.jar
db = jdbc -class=com.microsoft.jdbc.sqlserver.SQLServerDriver jdbc:microsoft:sqlserver://localhost:1433;selectMethod=Cursor;databaseName=scheduler -user=scheduler -password=secret
;    SQL Server 2000, 2005 via sqljdbc.jar
db = jdbc -class=com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;sendStringParametersAsUnicode=false;selectMethod=cursor;databaseName=scheduler -user=scheduler -password=secret

;    MySQL 4.1.7, 5.x
db = jdbc -class=com.mysql.jdbc.Driver jdbc:mysql://localhost/scheduler:3306 -user=scheduler -password=secret

;    Oracle 8.1.7, 9i, 10g
db = jdbc -class=oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@localhost:1521:orcl -user=scheduler -password=secret

;    PostgreSQL 8.x
db   = jdbc -class=org.postgresql.Driver jdbc:postgresql://localhost:5432/scheduler -user=scheduler -password=secret

;    IBM DB2 8
db   = jdbc -class=com.ibm.db2.jcc.DB2Driver jdbc:db2://localhost:50000/scheduler:driverType=2;retrieveMessagesFromServerOnGetMessage=true; -user=scheduler -password=secret

;    Firebird 1.5
db   = jdbc -class=org.firebirdsql.jdbc.FBDriver jdbc:firebirdsql://localhost:3050/scheduler -user=scheduler -password=secret

;    ODBC
db = odbc -db=scheduler_datasource -user=scheduler -password=secret

;    MS Access Datenbank
db = scheduler.mdb

db_order_history_table_name

Name der Datenbanktabelle für die Auftragshistorie

 

string   spooler.db_order_history_table_name

 

Die Einstellung factory.ini (Abschnitt [spooler], Eintrag db_order_history_table=…) wird damit überschrieben

db_orders_table_name

Name der Datenbanktabelle für die Aufträge

 

string   spooler.db_orders_table_name

 

Die Einstellung factory.ini (Abschnitt [spooler], Eintrag db_orders_table=…) wird damit überschrieben

db_tasks_table_name

Name der Datenbanktabelle für die Tasks

 

string   spooler.db_tasks_table_name

 

Die Einstellung factory.ini (Abschnitt [spooler], Eintrag db_tasks_table=…) wird damit überschrieben

db_variables_table_name

Name der Datenbanktabelle für interne Variablen des Schedulers

 

string   spooler.db_variables_table_name

 

Der Job Scheduler hält in dieser Tabelle interne Zähler, zum Beispiel für die nächste freie Task-ID.

Die Einstellung factory.ini (Abschnitt [spooler], Eintrag db_variables_table=…) wird damit überschrieben

directory

Das Arbeitsverzeichnis beim Start des Schedulers

 

string   spooler.directory

 

Ändert das Arbeitsverzeichnis.

Eine auf einem entfernten Scheduler ausgeführte Task (<process_class remote_scheduler="…">) liefert den Wert des entfernten Schedulers.

Die Option -cd wird damit überschrieben

 

Eine auf einem entfernten Scheduler ausgeführte Task (<process_class remote_scheduler="…">) liefert den Wert des entfernten Schedulers.

Rückgabe

string  

Der Pfad endet unter Unix mit "/" und unter Windows mit "\".

execute_xml

Führt ein XML-Kommando aus

 

string   spooler.execute_xml( string xml )

Beispiel  

spooler_log.info( spooler.execute_xml( "<show_state/>" ) );

 

Fehler werden als XML-Antwort <ERROR> geliefert.

Parameter

xml

Siehe XML-Kommandos.

Rückgabe

string  

Liefert die XML-Antwort des ausgeführten Kommandos.

hostname

Name des Rechners, auf dem der Scheduler läuft.

 

string   spooler.hostname

id

Wert der Kommandozeilenoption -id=

 

string   spooler.id

 

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 Option -id wird damit überschrieben
Die Einstellung factory.ini (Abschnitt [spooler], Eintrag id=…) wird damit überschrieben

include_path

Liefert die Kommandozeilenoption -include-path=.

 

string   spooler.include_path

 

Verzeichnis der Dateien, die mit <include> eingezogen werden.

Eine auf einem entfernten Scheduler ausgeführte Task (<process_class remote_scheduler="…">) liefert den Wert des entfernten Schedulers.

Umgebungsvariablen (z.B. $HOME) werden ersetzt (siehe hier).

Die Option -include-path wird damit überschrieben
Die Einstellung factory.ini (Abschnitt [spooler], Eintrag include_path=…) wird damit überschrieben
Das XML-Attribut <config include_path="…"> wird damit überschrieben

 

Eine auf einem entfernten Scheduler ausgeführte Task (<process_class remote_scheduler="…">) liefert den Wert des entfernten Schedulers.

ini_path

Wert der Option -ini= (Dateiname der factory.ini)

 

string   spooler.ini_path

 

Eine auf einem entfernten Scheduler ausgeführte Task (<process_class remote_scheduler="…">) liefert den Wert des entfernten Schedulers.

Siehe -ini, factory.ini

is_service

 

boolean   spooler.is_service

Rückgabe

boolean  

true, genau dann wenn der Scheduler als Dienst (in Windows) oder als Daemon (in Unix) läuft.

job

Liefert einen Job

 

Job   spooler.job( string job_name )

 

Wenn der Jobname nicht bekannt ist, wird eine Exception geliefert.

Parameter

job_name

Rückgabe

Job  

job_chain

Liefert eine Jobkette

 

Job_chain   spooler.job_chain( string name )

 

Wenn der Name der Jobkette nicht bekannt ist, wird eine Exception geliefert.

Parameter

name

Rückgabe

Job_chain  

job_chain_exists

 

boolean   spooler.job_chain_exists( string name )

Parameter

name

let_run_terminate_and_restart

 

spooler.let_run_terminate_and_restart()

 

Sobald alle Aufträge abgearbeitet sind, beendet der Scheduler alle Tasks (durch Aufruf von Job_impl) und beendet dann sich selbst. Ein neuer Scheduler mit unveränderten Kommandozeilenparametern wird gestartet.

Siehe <modify_spooler cmd="let_run_terminate_and_restart"> und Beendigung des Schedulers.

locks

Liefert die Locks

 

Locks   spooler.locks

Rückgabe

Locks  

log

Das Hauptprotokoll

 

Log   spooler.log

 

Normalerweise wird man spooler_log() verwenden.

Rückgabe

Log  

log_dir

Verzeichnis der Protokolle

 

string   spooler.log_dir

 

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.

Eine auf einem entfernten Scheduler ausgeführte Task (<process_class remote_scheduler="…">) liefert den Wert des entfernten Schedulers.

Umgebungsvariablen (z.B. $HOME) werden ersetzt (siehe hier).

Die Option -log-dir wird damit überschrieben
Die Einstellung factory.ini (Abschnitt [spooler], Eintrag log_dir=…) wird damit überschrieben

 

Eine auf einem entfernten Scheduler ausgeführte Task (<process_class remote_scheduler="…">) liefert den Wert des entfernten Schedulers.

param

Kommandozeilenoption -param=

 

string   spooler.param

 

Zur freien Verwendung. Der Parameter ist in den Skripten über spooler.param lesbar.

Das XML-Element <param> wird damit überschrieben
Die Option -param wird damit überschrieben
Die Einstellung factory.ini (Abschnitt [spooler], Eintrag param=…) wird damit überschrieben

process_classes

Liefert die Prozessklassen

 

Process_classes   spooler.process_classes

Rückgabe

Process_classes  

schedule

Liefert den benannten Schedule oder null

 

Schedule   spooler.schedule( string path )

Parameter

path

Rückgabe

Schedule  

supervisor_client

Liefert den Supervisor_client

 

Supervisor_client   spooler.supervisor_client

Rückgabe

Supervisor_client  

Exceptions

SCHEDULER-423 There is no supervisor 

tcp_port

HTTP- und TCP-Port für Kommandos an den Job Scheduler

 

int   spooler.tcp_port

 

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.

Die Option -tcp-port wird damit überschrieben
Das XML-Attribut <config tcp_port="…"> wird damit überschrieben

Rückgabe

int  

0, wenn kein Port geöffnet ist.

terminate

Scheduler mit allen Tasks ordentlich beenden

 

spooler.terminate( int timeout  (optional), boolean restart  (optional), boolean all_schedulers  (optional), boolean continue_exclusive_operation  (optional) )

 

Beendet alle Tasks (durch Aufruf von spooler_close()) und schließlich sich selbst.

Wenn eine Frist angegeben ist, bricht der Scheduler nach Ablauf alle noch laufenden Prozesse ab (das sind Tasks, die zulange in einem Aufruf wie spooler_process() verharren).

Siehe <modify_spooler cmd="terminate"> und Beendigung des Schedulers.

Parameter

timeout  (optional)

Frist in Sekunden, die der Scheduler auf die Beendigung der Tasks wartet und nach der der Scheduler alle Prozesse abbricht, um sich schließlich selbst zu beenden. Ohne diesen Parameter wartet der Scheduler endlos auf die Tasks.

restart  (optional)

restart=true lässt den Scheduler nach Beendigung neu starten.

all_schedulers  (optional)

all_schedulers=true beendet alle Scheduler im Cluster (s. -exclusive) Das kann eine Minute dauern.

continue_exclusive_operation  (optional)

continue_exclusive_operation=true lässt einen anderen Scheuler im Cluster (s. -exclusive) den Betrieb fortsetzen.

terminate_and_restart

Scheduler mit allen Tasks ordentlich beenden und erneut starten

 

spooler.terminate_and_restart( int timeout  (optional) )

 

Wie Spooler.terminate(), aber der Scheduler startet sich neu.

Siehe <modify_spooler cmd="terminate_and_restart"> und Beendigung des Schedulers.

Parameter

timeout  (optional)

Frist in Sekunden, die der Scheduler auf die Beendigung der Tasks wartet und nach der der Scheduler alle Prozesse abbricht, um sich schließlich selbst zu beenden. Ohne diesen Parameter wartet der Scheduler endlos auf die Tasks.

udp_port

UDP-Port für Kommandos an den Job Scheduler

 

int   spooler.udp_port

 

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.

Die Option -udp-port wird damit überschrieben
Das XML-Attribut <config udp_port="…"> wird damit überschrieben

Rückgabe

int  

0, wenn kein Port geöffnet ist.

variables

Die Scheduler-weiten Variablen als Variable_set

 

Variable_set   spooler.variables

 

Die Variablen können in der Konfigurationsdatei eingestellt werden mit <config><params>.

Rückgabe

Variable_set  

Software- und Organisations-Service GmbH

Zuletzt geändert von Joacim Zschimmer, 2008-05-08