|
Spooler
| void |
spooler.abort_immediately()
|
Bricht den Scheduler augenblicklich ab |
| |
| void |
spooler.abort_immediately_and_restart()
|
Bricht den Scheduler augenblicklich ab und startet ihn neu. |
| |
| void |
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()
|
|
|
Xslt_stylesheet |
spooler.create_xslt_stylesheet( path )
|
|
|
Xslt_stylesheet |
spooler.create_xslt_stylesheet( path )
|
|
| |
|
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 )
|
|
| |
| void |
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 |
| |
| void |
spooler.terminate( timeout, restart, all_schedulers, continue_exclusive_operation )
|
Scheduler mit allen Tasks ordentlich beenden |
| |
| void |
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 |
| |
| void |
spooler.set_var( name, String )
|
Zugriff auf Scheduler-weite Variablen |
|
String |
spooler.var( name )
|
|
| |
|
Variable_set |
spooler.variables()
|
Die Scheduler-weiten Variablen als Variable_set |
Von dieser Klasse gibt es nur ein Objekt: spooler.
Bricht den Scheduler augenblicklich ab
| void |
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. Bricht den Scheduler augenblicklich ab und startet ihn neu.
| void |
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
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
configuration_directory Pfad des Konfigurationsverzeichnisses
|
String |
spooler.configuration_directory()
|
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
Rückgabe
Variable_set create_xslt_stylesheet
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()
|
db_name Hostware-Pfad der Datenbank
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.
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()
|
db_orders_table_name Name der Datenbanktabelle für die Aufträge
|
String |
spooler.db_orders_table_name()
|
db_tasks_table_name Name der Datenbanktabelle für die Tasks
|
String |
spooler.db_tasks_table_name()
|
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.
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 in javascript
spooler_log.info( spooler.execute_xml( "<show_state/>" ) ); Fehler werden als XML-Antwort <ERROR> geliefert. Parameter
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=
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>.
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).
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
Rückgabe
Job job_chain Liefert eine Jobkette
Wenn der Name der Jobkette nicht bekannt ist, wird eine Exception geliefert.
Parameter
Rückgabe
Job_chain job_chain_exists
|
boolean |
spooler.job_chain_exists( String name )
|
Parameter
let_run_terminate_and_restart
| void |
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. locksLiefert die Locks
Rückgabe
Locks log Das Hauptprotokoll
Normalerweise wird man spooler_log() verwenden. Rückgabe
Log log_dirVerzeichnis 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. 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).
Eine auf einem entfernten Scheduler ausgeführte Task (<process_class remote_scheduler="…">) liefert den Wert des entfernten Schedulers. param Kommandozeilenoption -param=
Zur freien Verwendung. Der Parameter ist in den Skripten über spooler.param lesbar.
process_classesLiefert die Prozessklassen
Rückgabe
Process_classes scheduleLiefert den benannten Schedule oder null
Schedule |
spooler.schedule( String path )
|
Parameter
Rückgabe
Schedule supervisor_clientLiefert den Supervisor_client
Rückgabe
Supervisor_client Exceptions
tcp_portHTTP- 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.
Rückgabe
int 0, wenn kein Port geöffnet ist.
terminate Scheduler mit allen Tasks ordentlich beenden
| void |
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
| void |
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_portUDP-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.
Rückgabe
int 0, wenn kein Port geöffnet ist.
var Zugriff auf Scheduler-weite Variablen
| void |
spooler.set_var( String name, String )
|
|
String |
spooler.var( String name )
|
Die Variablen sind überall im Scheduler benutzbar. Parameter
variables Die Scheduler-weiten Variablen als Variable_set
Die Variablen können in der Konfigurationsdatei eingestellt werden mit <config><params>. Rückgabe
Variable_set |