Zschimmer GmbH Impressum und Kontakt

Scheduler     Erste Seite

  XML     API     Register


logo

Änderungsprotokoll

2.0.218.5961  2008-11-18

<script language="shell">: .cmd-Datei wird in OEM-Codierung erstellt

 

Windows verlangt für Batch-Dateien die OEM-Codierung. Wenn ein Zeichen aus <script> nicht umgesetzt werden kann, bricht der Scheduler den Job mit der Meldung SCHEDULER-471 ab. Jedoch ignoriert der Scheduler schon beim Einlesen der XML-Konfiguration Zeichen, die nicht in Latin1 sind, siehe »konfiguration.xml#encoding«.

[ERROR] SCHEDULER-471 Not supported character for encoding '(1)'

 

2.0.217.5956  2008-11-12

JS-316: Neue Umgebungsvariablen für Nicht-API-Jobs

 

 

2.0.216.5953  2008-11-05

Transaktionsisolation für Sybase geändert

 

Für Sybase ist jetzt read committed eingestellt.

 

 

<start_job force="no">: Task starten, ohne Job zu entstoppen

 

 

 

Fehlermeldung Z-ASYNC-SOCKET-001 unter Windows korrigiert

 

Eine interne Sicherheitsprüfung, die nur für Unix vorgesehen ist, verhinderte unter Windows gelegentlich den Start eines Jobs.

 

 

Fehler aus 2.0.214.5927 (Jobs in der Datenbank) korrigiert

 

Außerdem die Spalten der Tabelle SCHEDULER_JOB_CHAIN_NODES verschmälert.

 

2.0.215.5938  2008-10-28

Kleine Korrektur der Log-Kategorien

 

2.0.215.5937  2008-10-22

Bei besonderem Lizenzsschlüssel liefert der Scheduler das Datenbankkennwort

 

Der Lizenzschlüssel kann per <licence.use> übergeben werden. Daraufhin unterdrückt der Scheduler nicht länger in der Antwort von <show_state> die Zeichenfolge, die mit -password= beginnt.

 

 

Allgemeines zentrales Konfigurationsverzeichnis kann gelöscht werden

 

Wenn das zentrale allgemeine Konfigurationsverzeichnis gelöscht wird, lässt der Supervisor in allen angeschlossenen Schedulern die entsprechenden Objekte löschen.

 

2.0.214.5927  2008-10-16

Gestoppte Jobs, Jobketten und Jobkettenknoten bleiben über Scheduler-Neustart hinweg gestoppt

 

Der Zustand der Jobs, Jobketten und Jobkettenknoten wird in der Datenbank gehalten. Wenn eins dieser drei Objekte gelöscht wird, wird auch der dazugehörige Datenbankeintrag gelöscht.

 

2.0.213.5922  2008-10-07

Verschachtelte Jobketten mit Großbuchstaben funktionieren

 

Großbuchstaben im Namen der übergeordneten Jobkette konnten den Scheduler abbrechen lassen. Das ist behoben. In Jobkettennamen werden große wie kleine Buchstaben angesehen.

In der Datenbank werden die Jobkettennamen in Großschreibung belassen. Aufträge werden nur wiedergefunden, wenn die Großschreibung sich nicht ändert. Jobkettennamen sollten in der Datenbank normalisiert, also kleingeschrieben, gespeichert werden.

 

2.0.213.5918  2008-10-04

Hauptprotokoll im Browser-Fenster bricht nicht mehr ab

 

Das Hauptprotokoll im Browser-Fenster bricht jetzt nicht mehr ab. Das passierte, nachdem das Hauptprotokoll wegen eines Fehler beim Scheduler-Start versendet worden ist.

 

2.0.213.5914  2008-10-02

$-Substitition mit \ abschaltbar

 

Das Zeichen »\« vor »$« liefert das Zeichen »$«, ohne eine Variable zu ersetzen.

Siehe »Einstellungen, die den Abruf von Umgebungsvariablen mit ${…} erlauben«.

 

 

<kill_task> auf Nicht-API-Prozessen unter Unix bricht alle Kindprozesse ab

 

Die Meldungen SCHEDULER-277 und SCHEDULER-282 werden nicht mehr ausgegeben.

 

 

Neue Kommandos zum Schalten der Log-Kategorien

 

 

2.0.212.5882  2008-09-11

".." ist in allen Pfaden möglich

 

Pfade, die auf ein Scheduler-Objekt verweisen (Job, Jobkette usw.) können mit ".." ins obere Verzeichnis verweisen. Zum Beispiel in

 

2.0.211.5876  2008-09-07

Implementierung der verschachtelten Jobketten überarbeitet

 

 

scheduler.log zeigt Tag des Monats in der ersten Spalte

 

 

Diagnosemeldung beim Fehlstart eines Prozesses

 

Wenn ein Nicht-API-Prozess unter Unix sich nicht starten lässt (Fehler bei execvp), gibt der Scheduler die execvp-Parameterliste und die Umgebungsvariablen aus.

 

2.0.210.5864  2008-08-22

Anpassung an verschachtelte Jobketten

 

<add_order state="…"> und <add_order end_state="…"> sind jetzt auf verschachtelte Jobketten anwendbar.

 

2.0.210.5860  2008-08-14

Perl-API unter Unix (libsosperlscript.so) verbessert

 

  • Log.level: $spooler_log->LetProperty( 'level', ... ) funktioniert.
  • Die Perl-Schnittstelle versucht jetzt, jeden unbekannten Typ als String zu erkennen, so dass auch folgende Sequenz funktioniert, deren zweite Anweisungen $a von einem SVt_IV in einen SVt_PVIV wandelt:
    my $a = 1;
    my $x = "$a";
    $spooler_log->info( $a )

 

 

Klasse Run_time für Java ermöglicht

 

Run_time kann auch in Java benutzt werden.

 

2.0.210.5838  2008-07-25

Neue Umgebungsvariable SCHEDULER_TASK_ID

 

Siehe <process>.

 

2.0.210.5837  2008-07-22

XML-Kommandos zum Setzen und Lesen der Scheduler-Parameter

 

 

 

Umgang mit Feiertagen: <period when_holiday="…">

 

Der Scheduler sieht zwanzig Jahre voraus, längstens aber bis 2038.

 

 

Wochentage, zum Beispiel Samstag und Sonntag, als Feiertage deklarierbar

 

 

 

Aufträge mit inkludierten Parameterdateien

 

<order><params><include> ist möglich. Bei einem dateibasierten Auftrag kann die inkludierte Datei überwacht werden.

 

 

<job timeout="…"> gilt auch für Nicht-API-Jobs

 

 

2.0.208.5817  2008-07-02

Dateiaufträge beschleunigt

 

Wenn der erste Job der Jobkette mehrere Tasks erlaubt (<job tasks="…">), füttert der Scheduler die Jobkette jetzt schneller mit den Dateiaufträgen..

 

2.0.208.5814  2008-06-30

Doppeltes "To:" aus Mail-Verzeichnis entfernt

 

Die im eMail-Verzeichnis (factory.ini (Abschnitt [spooler], Eintrag mail_queue_dir=…)) abgelegten Dateien enthielten zur Kompatibilität mit einer alten Mail-Software eine zusätzlich "To:"-Zeile. Die Zeile wird nicht mehr eingefügt. Es sollte eine aktuelle Mail-Software (mail.jar oder w3jmail44.dll) eingesetzt werden.

 

 

Variable_set.set_value() auch in Java möglich

 

Der schreibende Aufruf von Variable_set.value ist jetzt auch in Java möglich.

Der Aufruf ist damit durchgängig eingeführt und ersetzt Variable_set.var, der in JavaScript nicht möglich ist.

 

 

spooler_log.new_filename

 

Log.new_filename kann jetzt auch unter Unix verwendet werden.

 

 

Dokumentation erweitert

 

Log.mail_on_process ergänzt; Texte aus settings.xml werden auf den API-Seiten gezeigt.

 

2.0.208.5811  2008-06-26

API um Sperren erweitert

 

 

2.0.207.5799  2008-06-09

Auf Microsoft Visual Studio 2008 umgestellt

 

2.0.206.5789  2008-05-25

spidermonkey.dll und libspidermoneky.so: Verhalten bei Boole'sch true verbessert

 

Boole'sch true wird jetzt immer als derselbe interne Wert geliefert, sodass folgender Code funktioniert:

spooler_log.mail_on_success = true;
var a = spooler_log.mail_on_success;
if( a != true )  spooler_log.error( a + "!=" + true );  // Okay ab Spidermonkey 1.7.0.5789

 

 

Dokumentation korrigiert

 

 

2.0.206.5787  2008-05-19

Umstellung der Datenbankspalte SCHEDULER_HISTORY.END_TIME auf NULL

 

Anpassung an MySQL 5, das "0000-00-00" für fehlenden Feldwert schreibt, wenn die Spalte mit NOT NULL deklariert ist.

 

 

Order.priority wird jetzt richtig interpretiert

 

  • Order.priority: Höhere Priorität ordnet einen Auftrag vorne in die Auftragswarteschlange ein.

 

 

Verteilte Aufträge schreiben wieder nur einen Historiensatz

 

Seit Version 2.0.194.8488 (2008-01-05) schrieben verteilte Aufträge für jeden Schritt einen Historiensatz. Das ist korrigiert.

 

2.0.205.5781  2008-05-09

Order.job deleted

 

 

 

<show_state what="source"

 

 

 

<schedule.remove> entfernt ein Schedule

 

 

2.0.204.5773  2008-05-06

JS-279: Weitere Umgebungsvariablen für Nicht-API-Jobs

 

 

2.0.203.5764  2008-04-29

JS-271: XML-Dokument in einem Konfigurationsverzeichnis anlegen: <modify_hot_folder>

 

 

 

JS-245: Neues XML-Element <schedule>: Benannte <run_time>

 

 

 

JS-274: Job_chain.title

 

 

2.0.202.5728  2008-04-21

Problem beim gleichzeitigen Start zweier Cluster-Scheduler behoben

 

Beim gleichzeitigen Start zweier Scheduler desselben Clusters konnte ein Scheduler beim Start hängen bleiben. Das ist behoben.

 

2.0.202.5723  2008-04-18

JS-265: Order.end_state

 

 

2.0.201.5696  2008-04-02

Anpassungen an Sybase Adaptive Server Enterprise

 

2.0.201.5692  2008-03-31

JS-60: <script> </script> wirkt wie <script/>

 

Leere Textknoten (nur Leerzeichen, Zeilenwechsel und Tabulator) im XML-Element <script> ignoriert der Scheduler. Wenn das XML-Element <script> nur einen leeren Textknoten enthält, gilt das als nicht angegebener Quell-Code.

 

2.0.201.5684  2008-03-14

Jobprotokolldatei wird nicht mehr offengehalten

 

Wenn der Scheduler etwas ins Jobprotokoll schreibt, öffnet er die Datei zuvor und schließt sie danach wieder.

 

2.0.201.5679  2008-03-13

JS-150: Anpassung der Spalte SCHEDULER_ORDER_HISTORY.END_TIME in einer Access-Datenbank

 

Die Datenbank-Spalte SCHEDULER_ORDER_HISTORY.END_TIME muss mit JS-150 NULL aufnehmen können. Der Scheduler prüft das beim Start und ändert die Spalte. Access verlangt dazu ein besonders Verfahren: Der Scheduler legt eine Kopie der Spalte an, die er dann in die erneuerte zurückkopiert. Diese Operation, die einmal beim Start des Schedulers durchgeführt wird, sollte nicht unterbrochen werden.

 

2.0.201.5678  2008-03-07

JS-150: Neue Spalten ERROR, ERROR_CODE und ERROR_TEXT in der Auftragsschritthistorie

 

Bei einem Task-Fehler werden die neuen Felder der Tabelle SCHEDULER_ORDER_STEP_HISTORY gefüllt.

 

2.0.201.5671  2008-02-28

Attribut day= lässt bereits angegebene Tage zu

 

In <weekdays> und <monthdays> können Tage wiederholt angegeben werden. Der Scheduler mischt die Perioden. Die Meldung SCHEDULER-444 entfällt.

Beispiel  

<monthdays>
    <day day="12 13">
        <period single_start="13:12"/>
    </day>
    <day day="12">
        <period single_start="12:00"/>
    </day>
</monthdays>

Das ergibt für den 12. eines Monats zwei Startzeiten: 12:00 und 13:12.

 

2.0.200.5665  2008-02-25

<include include_path="...">: Umgebungsvariablen können abgerufen werden

 

 

 

JS-215: <params> mit <include>

 

In Dateien abgelegte Parameter können inkludiert werden. Mit einem XPath-Ausdruck lassen sich die <param> adressieren.

 

 

JS-240: <include live_file="…">

 

Das neue Attribut live_file= kann verwendet werden direkt unter

Unter <job><params> führt eine Änderung der mit live_file= angegebenen Datei zum Erneuten Lesen des Jobs.

 

 

JS-222: Neuer Aufruf job.folder_path()

 

 

2.0.199.5618  2008-02-11

JS-221: Cache für zentrale Konfiguration und parallele lokale Konfiguration

 

Eine vom Supervisor geladene zentrale Konfiguration wird im neuen Verzeichnis ./config/cache gehalten.

Der Job Scheduler mischt die zentrale mit der lokalen Konfiguration. Ein zentral konfiguriertes Objekt kann nicht lokal überschrieben werden.

Unter Windows sind wegen der weiteren Verzeichnisüberwachung noch 25 TCP-Verbindungen möglich.

[ERROR] SCHEDULER-460 object(1) is centrally defined and cannot be locally overwritten 
[warn] SCHEDULER-703 Local configuration file is ignored, the central configuration file is used instead 

 

2.0.198.5596  2008-02-04

JS-222: Neue Aufrufe Spooler.configuration_directory und Job.folder_path

 

 

2.0.197.5594  2008-02-04

JS-255: Prozessklassen auch für Nicht-API Jobs möglich

 

Nicht-API Jobs können einer Prozessklasse zugeordnet werden (Default: die Prozessklasse mit dem leeren Namen ""). D.h. die in der Prozessklasse eingestellte Begrenzung der Prozesse wirkt auch auf Nicht-API Jobs.

Die voreingestellte Begrenzung ist von 10 auf 30 erhöht worden.

 

 

JS-213: Nicht-API Jobs lassen sich unter entferntem Job Scheduler ausführen

 

Für Nicht-API Jobs lässt sich eine Prozessklasse mit entferntem Job Scheduler angeben.

 

 

JS-205: Job.name liefert den Pfad des Jobs

 

Job.name liefert nicht mehr den Namen, sondern den Pfad des Jobs.

 

 

JS-204: Zentrale Konfiguration

 

Ein als Supervisor laufender Job Scheduler kann Konfigurationsdateien und -verzeichnisse einer zentralen Konfiguration für andere Job Scheduler bereitstellen. Änderungen werden laufend übernommen.

[ERROR] SCHEDULER-456 Invalid response from supervisor 
[ERROR] SCHEDULER-457 Remote scheduler '(1)' has not been registered 
[warn] SCHEDULER-454 Remote configuration directories '(1)' and '(2)' refer to the same IP number 
[warn] SCHEDULER-899 Scheduler has no UDP port, so updated configuration files on supervisor will not be noticed 
[info] SCHEDULER-455 No configuration directory for '(1)
[info] SCHEDULER-701 Replicating '(1)
[info] SCHEDULER-702 Removing '(1)

 

 

JS-203: stdout und stderr werden laufend ins Protokoll übernommen

 

Ausgaben nach stdout und stderr werden nicht mehr erst am Ende der Task, sondern laufend übernommen. Das geschieht sekündlich. Wenn keine Ausgabe kommt, verlängert sich die Periode auf zehn Sekunden.

Bei API-Jobs, deren Tasks auf einem entfernten Job Scheduler ablaufen (<process_class remote_scheduler="…">), werden Ausgaben nach Beendigung des Skripts (also kurz vor Beendigung des Prozesses) nicht übernommen.

 

 

Datenbank Adaptive Server Enterprise von Sybase wird unterstützt

 

Für alle Datenbanken sind die Spalten für Auftragskennungen und Jobkettenamen von 255 auf 250 Zeichen verkürzt worden.

 

 

JS-227: Mit <run_time> wiederholte Aufträge werden nach Mitternacht fortgesetzt

 

Bislang endeten die Aufträge um 24:00. (Eine Folge von JS-123 im Oktober 2007.)

 

2.0.196.5515  2008-01-14

Job Scheduler für AIX bereitgestellt

 

2.0.196.5515  2008-01-14

JS-219: HTML-Seiten über virtuelles Verzeichnis eines HTTP-Proxys möglich

 

2.0.196.5515  2008-01-13

JS-220: Spidermonkey 1.7

 

Das Modul libspidermonkey.so bzw. spidermonkey.dll ist auf die Version 1.7.0 umgestellt. SpiderMonkey 1.7.0 Change Log

 

2.0.195.5499  2008-01-11

JS-212: Element <params> unter <config>

 

Mit <params> unter <config> lassen sich Scheduler-weite Parameter setzen, die mit Spooler.variables abgerufen werden können.

 

2.0.194.5488  2008-01-05

JS-150: Neue Datenbanktabelle scheduler_order_step_history

 

Die Tabelle nimmt für jeden Auftragsschritt einen Satz auf. Der Satz wird zu Beginn des Schritts geschrieben und am Ende vervollständigt.

Die Tabelle scheduler_order_history wird jetzt schon mit dem ersten Auftragsschritt beschrieben und nach der Ausführung des Auftrags vervollständigt.

Die Spalte scheduler_order_history.end_time nimmt jetzt NULL auf.

Die Tabelle scheduler_order_step_history hat folgenden Aufbau (Syntax für PostgresQL):

CREATE TABLE SCHEDULER_ORDER_STEP_HISTORY 
(
    "HISTORY_ID" integer not null,          // Verweis zu SCHEDULER_ORDER_HISTORY.HISTORY_ID
    "STEP"       integer not null,          // 1, 2, 3, ...
    "TASK_ID"    integer not null,          // Verweis zu SCHEDULER_TASKS.TASK_ID
    "STATE"      varchar(100) not null,     // Auftragszustand
    "START_TIME" timestamp not null,
    "END_TIME"   timestamp,
    primary key( "HISTORY_ID", "STEP" )
)

 

2.0.194.5476  2008-01-05

Neue Datenbankspalte scheduler_history.pid

 

Die neue Datenbankspalte scheduler_history.pid nimmt die Prozesskennung des Betriebssystems auf.

Datenbank-Deklaration:

"PID" integer

 

2.0.193.5476  2008-01-02

Zentrale Konfiguration

 

<config central_configuration_directory="…">

Der Supervisor kann jetzt die lokalen Konfigurationen mit einer zentralen Konfiguration überschreiben.

 

2.0.192.5444  2007-12-21

<file_order_source> ohne regex= konnte Job Scheduler abbrechen

 

Bei <file_order_source> mit leerem Attribut regex= konnte der Job Scheduler abbrechen, nachdem ein Dateiname auf die Schwarze Liste gesetzt worden ist (weil er nach Auftragsführung noch vorhanden ist). Das ist behoben.

Zwischenlösung im bisherigen Job Scheduler: regex="."

 

2.0.192.5442  2007-12-20

JS-178: Große Antwort einer API-Methode ließ Task hängen

 

Ein Aufruf von z.B. spooler.execute_xml() mit einer großen Rückgabe (etwa >100KB) konnte hängen bleiben. Das ist behoben.

 

2.0.192.5438  2007-12-19

Änderung einer Job-Konfiguration unter Unix hält Dateiaufträge nicht mehr an

 

Unter Unix hielt eine Änderung der Konfiguration des ersten Jobs der Jobkette nach <file_order_source> die Dateiauftragsquelle an. Das ist behoben.

 

 

<show_order>

 

Das Kommando <show_order> konnte den Scheduler abbrechen, wenn der Auftrag nicht mehr vorhanden war. Das ist behoben.

 

 

JS-208: modify_job cmd='reread' als Null-Operation wieder eingebaut

 

Das Kommando ist wirkungslos, weil die <include> ohnehin bei jedem Job-Start erneut gelesen werden.

 

2.0.192.5429  2007-12-11

JS-52: XML-Fehler beim Lesen des Auftrags-XML-Dokument

 

Je nach Blockung der Datenbank konnte beim Lesen eines Auftrags ein XML-Fehler auftreten. Das sollte behoben sein.

 

2.0.192.5428  2007-12-11

JS-206: <script language="perl"> meldet Fehler mit Zeilennummer und Pfad

 

Ein Fehler in einem (<script language="perl">) wird jetzt in der Regel mit Zeilennummer und Pfad (bei <include>) gemeldet.

Unter Unix erscheint die Position in der stderr-Ausgabe.

Unter Windows wird bei machen Fehlern ("undefined value") die Zeilennummer der ersten Zeile des Abschnitts, aber nicht der fehlerhaften Zeile gemeldet. Das scheint eine Besonderheit von ActivePerl zu sein.

 

2.0.192.5407  2007-11-30

Job.name liefert den ganzen Pfad

 

Job.name liefert nicht mehr den Namen, sondern den Pfad des Jobs ohne beginnenden Schrägstrich.

 

2.0.192.5402  2007-11-27

Datenbanktest auf ASCII-Zeichen reduziert

 

Weil manche PostgresQL-Installationen Latin-1 nicht unterstützen, prüft der Job Scheduler nur noch den ASCII-Zeichenvorrat (Basic Latin).

[ERROR] SCHEDULER-452 Database does not correctly store test values:
(1) (written value)
(2) (read value)

 

2.0.192.5397  2007-11-20

Variablenwerte mit Nicht-Latin1-Zeichen

 

Weil Umgebungsvariablen (z.B. ERASE) Zeichen enthalten können, die UNICODE nicht kennt, wurden interne XML-Dokumente ungültig. Solche Zeichen codiert der Scheduler jetzt hexadezimal.

 

2.0.192.5394  2007-11-18

PostgresQL wird besser unterstützt, Job Scheduler prüft Datenbank

 

Beim Start führt der Job Scheduler einfache Tests des Datenbankmoduls durch:

  • ob '\' (Backslash) korrekt behandelt wird,
  • ob der Latin1-Zeichenvorrat und die Steuerzeichen TB (0x08), CR (0x0D) und NL (0x0A) geschrieben und gelesen werden können, und
  • ob die SQL-Anweisung rollback auf die Tabelle SCHEDULER_VARIABLES wirkt.

Bei einem Fehlschlag startet der Scheduler nicht.

[ERROR] SCHEDULER-451 Database check failed, database is not useable. error(1)

[ERROR] SCHEDULER-452 Database does not correctly store test values:
(1) (written value)
(2) (read value)

[ERROR] SCHEDULER-453 Database does not respect rollback command

 

 

Entfernte Task-Ausführung: Spooler.directory, .log_dir, .ini_path und .include_path liefern Werte des entfernten Schedulers

 

 

 

JS-195: Job-Historie für Jobs in Ordnern korrigiert

 

<show_job what="task_history"> berücksichtigt jetzt den ganzen Pfad des Jobs.

 

 

JS-196: Einträge in der factory.ini auch für Jobs in Ordnern möglich

 

 

2.0.191.5386  2007-11-15

Löschen der Jobkette, auf die eine übergeordnete verweist, liefert keine Warnung mehr

 

Wenn eine Jobkette gelöscht wird, auf die eine übergeordnete Jobkette verweist, wird letztere unbrauchbar, weshalb die Warnung SCHEDULER-424 'Job_chain xxx' is being removed before 'yyy' ausgegeben wurde. Die Meldung wird jetzt als Info ausgegeben.

 

 

JS-180: Java-Quellcode kann jetzt mit Blank im Classpath übersetzt werden

 

Der Scheduler setzt dazu die Umgebungsvariable CLASSPATH.

 

 

JS-146: Jobstarts bei neuen, geänderten und gelöschen Konfigurationsdateien

 

 

2.0.190.5382  2007-11-12

JS-181: Änderung der Großschreibung einer im Quellcode angegebenen Java-Klasse

 

Unter Windows führte die Änderung der Großschreibung des Namens einer Java-Klasse zu einem Fehler, wenn deren Quell-Code direkt in <script language="java"> angegeben war. Der Scheduler löscht jetzt die generierte .java-Datei, um Windows zu der geänderten Großschreibungsweise zu zwingen.

 

2.0.190.5379  2007-11-06

Veraltetes <script process_class="..."> wird nicht mehr unterstützt

 

Verwenden Sie <job process_class="…">.

 

2.0.190.5375  2007-11-03

JS-177: Java-Methode Order.priority() korrigiert

 

Order.priority ist jetzt unter Java benutzbar.

 

2.0.190.5370  2007-10-29

JS-155: Lade- und Aktivierungsphase der dynamischen Konfiguration getrennt

 

Die Objekte der Konfigurationsverzeichnisse werden erst geladen, dann aktiviert. Damit können für <config configuration_add_event="…"> usw. Jobs aus den Konfigurationsverzeichnissen benutzt werden.

 

 

JS-155: Kurzfristiges Löschen und Wiedereinfügen einer Datei wird als Änderung angesehen

 

Wenn eine Datei in sehr kurzer Zeit gelöscht und wieder eingefügt wird, interpretiert der Job Scheduler das als Änderung, nicht als Löschen und Hinzufügen eines Objekts.

 

2.0.190.5365  2007-10-28

JS-136: Authentifizierung für SMTP-Server (eMail-Versand)

 

Der Job Scheduler unterstützt Authentifizierung für den Versand von Mail via SMTP.

Der Job Scheduler läuft nur mit der neuen Datei sos.mail.jar!

 

 

JS-153: Neues Kommando <check_folders>

 

Das Kommando veranlasst den Job Scheduler, den Inhalt von Konfigurationsverzeichnissen (Hot Folders) zu prüfen, um geänderte, hinzugefügte oder entfernte Dateien sofort zu erkennen. Unter Windows wird dies sofort erkannt, unter Unix wird dies innerhalb von max. 60s erkannt. Das Kommando ist in der HTML-Oberfläche des Job Schedulers verfügbar.

 

 

JS-149: Neues Attribut <job_chain_node on_error="setback|suspend"

 

 

2.0.189.5354  2007-10-22

JS-147: Umgebungsvariablen für Tasks einstellbar

 

 

 

JS-148: Task- und Auftrags-Parameter für Nicht-API-Jobs

 

Nicht-API-Jobs erhalten die Task- und Auftrags-Parameter als Umgebungsvariablen. Die Namen sind großgeschrieben. "SCHEDULER_PARAM_" ist den Namen vorangestellt. Auftragsparameter überschreiben gleichnamige Task-Parameter.

 

2.0.187.5325  2007-10-10

JS-134: Mehrere Job Scheduler Skripte

 

Mit dem neuen XML-Element <scheduler_script> lassen sich mehrere Job Scheduler Skripte angegeben.

 

 

JS-68: Mehrere Job-Monitor <monitor>

 

 

 

JS-121: Monate in <run_time>

 

 

 

JS-123: absolute_repeat= in <run_time>

 

 

 

JS-124: Mehrfache angaben in day=, monthday= usw.

 

 

 

Neue Voreinstellung <add_order replace='yes'>

 

 

 

JS-155: Dynamische Konfiguration

 

 

 

JS-126: HTTP-Authentifizierung wird auch für Web-Services verlangt

 

Die Authentifizierung <http.authentication> gilt auch für die über HTTP angesprochenen <web_service>.

 

 

JS-129: Datenbankspalte EXIT_CODE wird nachträglich angelegt

 

 

JS-116: <run_time> für Aufträge in verschachtelter Job-Kette

 

<run_time> wiederholt jetzt einen Auftrag korrekt, auch wenn er in einer verschachtelten Job-Kette (<job_chain_node.job_chain>) ist.

 

2.0.186.5189  2007-08-30

JS-110: Korrektur "bad allocation"

 

2.0.186.5179  2007-08-27

JS-103: HTTP-Authentifizierung eingeführt

 

Neues XML-Element <http.authentication> eingeführt. (Dank für den Algorithmus an Michael Collard, iinet.net.au).

 

 

Meldung für verspäteten Herzschlag wird als Warnung ausgegeben

 

  • [warn] SCHEDULER-827 Own heart beat is late: next_heart_beat has been announced for (1) (this is (2) seconds late)
  • [ERROR] SCHEDULER-386 Last heart beat was time(1), (2) seconds ago. Something is delaying Scheduler execution, the Scheduler is aborted immediately
  • [ERROR] SCHEDULER-377 After own late heart beat, Scheduler member '(1)' has taken exclusiveness

 

2.0.185.5170  2007-08-24

Änderungen an der Datenbank

 

  • Mit der Tabelle SCHEDULER_ORDER_HISTORY wird der neue Index SCHEDULER_O_HISTORY_JOB_CHAIN auf die Spalte JOB_CHAIN angelegt.
  • Der bisherige Index SCHEDULER_HISTORY_CLUSTMEMBER wird jetzt als SCHEDULER_H_CLUSTER_MEMBER angelegt.
  • Die Datenbankspalte SCHEDULER_ORDERS.SPOOLER_ID wird jetzt mit not null angelegt.
  • Für MySQL werden die Primärschlüsselfelder von SCHEDULER_ORDERS mit dem Zeichensatz Latin1 angelegt.

 

2.0.184.5167  2007-08-23

JS-92: idle_time="5" ist jetzt voreingestellt

 

 

 

JS-88: Neues Attribut max_order_history

 

 

 

JS-97: Meldungen wegen später gelöschter Dateien jetzt als debug3

 

Zwei Meldung werden mit debug3 statt bisher info ausgegeben:

  • [debug3] SCHEDULER-876 Temporary files cannot be deleted. Still trying ..., paths(1)
  • [debug3] SCHEDULER-877 Temporary files have been deleted now

 

 

JS-96: HTML-codierte Protokolle über HTTP enthalten wieder die Zeichen <, > und &

 

 

JS-93: Meldung SCHEDULER-846 korrigiert

 

  • SCHEDULER-846 After task exception and due to stop_on_error='no', the order has been moved to error_state='(1)'

 

2.0.183.5153  2007-08-10

JS-48: Nicht-API-Jobs versetzen im Fehlerfall Auftrag in den Fehlerzustand

 

Im Fehlerfall eines auftragsgesteuerten Nicht-API-Jobs (<process> oder <script language="shell">) wird der ausgeführte Auftrag in den Fehlerzustand (<job_chain_node error_state="…">) versetzt. Davon unberührt stoppt der Job (außer bei <job stop_on_error="no"> oder <delay_after_error>).

 

 

JS-82: Unix: Viele <start_when_directory_changed> blockieren nicht mehr den Scheduler

 

Unter Unix konnten viele Verzeichnisüberwachungen mit <start_when_directory_changed> den Scheduler so beschäftigen, dass die Tasks nicht mehr fortgesetzt wurden. Das ist behoben.

 

 

JS-81: Date-Header fehlte beim Erzeugen der eMail mit JavaMail ohne Versand

 

EMails, die der Scheduler mit JavaMail erzeugt und im Mail-Verzeichnis abgelegt, also nicht versendet hat, haben jetzt auch einen Date-Header.

 

2.0.182.5146  2007-07-27

JS-78: Scheduler-Skript wird vor <commands> ausgeführt

 

Erst wird das Scheduler-Skript <config><script> ausgeführt, dann <config><commands>. Damit kann <run_time start_time_function="…"> berechnet werden, bevor die Aufträge in der Datenbank abgelegt werden.

 

 

JS-78: Verteilte Aufträge mit <run_time> möglich

 

Verteilte Aufträge können <run_time> nutzen.

 

2.0.181.5143  2007-07-24

JS-49: Für die Datenbank DB2 wird der Datentyp numeric(1) statt bisher boolean verwendet

 

 

JS-55: <job tasks='0'> startet keine Task mehr

 

Auch im Zustand pending prüft der Scheduler das Attribut <job tasks="…"> Bei tasks="0" startet er keine Task.

 

2.0.180.5139  2007-07-23

JS-39: scheduler.log.gz wird nicht mehr erzeugt

 

Solange nicht implementiert ist, dass der Scheduler die scheduler.log.gz im Hintergrund erzeugt, erzeugt er sie erstmal gar nicht, weil das den Start zu lange verzögern kann.

 

 

JS-41: Urls im HTML-Protokollfenster sind klickbar

 

Urls in einem über HTTP in HTML gelieferten Protokoll sind klickbar. Der Scheduler erkennt das Kennzeichen http:// und setzt den Url in ein <a href="…" target="_blank">...</a>

 

2.0.179.5136  2007-07-23

JS-52: Nicht für XML zugelassene Zeichen werden durch ¿ ersetzt

 

Die Zeichen U-0 bis U-1F (außer U-9, U-A, U-D) und U-80 bis U-9F ersetzt der Scheduler beim Erzeugen eines XML-Dokuments durch ¿, damit es nicht ungültig wird. Alle anderen Zeichen des Zeichenvorrats Latin1 (ISO-8859-1) werden weiter unterstützt.

 

2.0.178.5132  2007-07-17

JS-42: Prozess-Jobs setzen Job.state_text und Order.state_text

 

Der Scheduler füllt nach Beendigung eines Prozess-Jobs (<process> und <script language="shell">, also nicht API-Jobs) Job.state_text und Order.state_text mit der ersten Zeile von stdout, max. 100 Zeichen.

 

 

Datenbank-Indices werden automatisch angelegt

 

Der Scheduler legt jetzt zusammen mit den Datenbanktabellen auch die Indices an.

 

 

Create-tables in die Dokumentation aufgenommen

 

 

 

Umgang mit Backslash in MySQL

 

Beim Betrieb mit einer MySQL-Datenbank berücksichtigt der Scheduler die Besonderheit der Backslashs in MySQL-Strings.

 

2.0.177.5128  2007-07-13

JS-23: Tasks warten auf gesperrte temporäre Dateien für stdout und stderr

 

Nur Windows: Der Scheduler verzögert das Ende einer Task eine halbe Sekunde, bis die für stdin, stdout und stderr angelegten temporären Dateien löschbar sind. Die Dateien können von Enkelprozessen blockiert sein, die der Task-Prozess gestartet hat und die nach Task-Ende noch weiterlaufen. Oder ein Virenscanner hält die Dateien noch einen kurzen Moment fest.

[debug3] SCHEDULER-876 Temporary files cannot be deleted. Still trying ..., paths(1)

[debug3] SCHEDULER-877 Temporary files have been deleted now

[info] SCHEDULER-878 Temporary files cannot be deleted: paths(1)

 

 

JS-47: <security> in <base> nutzbar

 

<security> in oberer Konfiguration ersetzt nicht mehr die Einstellung aus der <base>-Konfiguration sondern wird mit dieser vermengt.

 

 

abort_immediately_and_restart zögert 2 Sekunden

 

<modify_spooler cmd="abort_immediately_and_restart"> schließt wie bisher die TCP-Verbindungen und wartet dann 2 Sekunden, um dem Internet Explorer die Gelegenheit zu geben, seinerseits die TCP-Verbindung zu schließen, um nicht zu blockieren.

 

 

distributed='no', Cluster-Member-ID ist nur noch für Rechnername und Port eindeutig

 

Ein Verteilter Scheduler (-distributed-orders) führt Jobs lokal im einzelnen Scheduler aus.

Für eine Job-Kette kann mit <job_chain distributed="…"> eingestellt werden, ob sie lokal im einzelnen Scheduler oder verteilt im ganzen Cluster gilt. Lokale Job-Ketten müssen im Cluster einen eindeutigen Namen haben (das wird nicht geprüft).

Bisher war die Cluster-Member-ID für jeden Lauf eines Schedulers (eines Cluster-Mitglieds) eindeutig. Jetzt wird die ID aus Scheduler-ID, Rechnernamen und TCP-Portnummer gebildet. Zwei Rechner im selben Cluster dürfen nicht denselben Rechnernamen haben.

 

2.0.176.5116  2007-07-01

Linux-Scheduler wird unter Suse 9.1 kompiliert

 

Die ausgelieferten Binär-Dateien laufen jetzt unter Suse ab Version 9.1 (bisher 8.0). Bisher ist die Linux-Software unter Suse 8.0 kompiliert worden.

 

 

orders_recoverable='no' unterdrückt nicht mehr Auftragshistorie

 

<job_chain orders_recoverable="no">.

 

2.0.176.5105