|
Einführung:
Die Hauptaufgabe von SCRIPTOR ist die Ausführung von
mehreren Scripts, die in einer Liste angeordnet sind. Die
Scriptlisten werden vom User auf der Seite “Edit Jobs &
Tasks” zusammengestellt. Scriptlisten sind zweistufig
organisiert: Mehrere Scripte bilden eine “Task”, mehrere
Tasks bilden einen “Job”.
Eingabe:
In der Benutzeroberfläche sind vier verschiedene Tabellen
erkennbar. In jeder Tabellenzelle können wieder beliebige
SCRIPTOR <%=..%>-Ausdrücke benutzt werden.
1) In Tabelle “Jobs” werden die definierten Jobs eingetragen (wer hätte das gedacht?). Ein Job ist die natürliche Ausführungseinheit von SCRIPTOR.
Feld
|
Bedeutung
|
JOB
|
Name, unter dem der Job verwaltet wird.
|
QUERY_PARAMS
|
Kommaliste von Parameternamen. Diese Parameter
werden vor der Ausführung vom User abgefragt, auch
wenn sie in der gewählten Konfiguration gesetzt sind.
|
DIR_BATCHFILE
|
Verzeichnis, in dem Scriptor einen Batchfile
speichert, mit dem die Scriptliste stand-alone (=
unabhängig von Scriptor) ausgeführt werden kann.
|
INFO
|
Beschreibung des Jobs, wird bei der Job-Auswahl und
im Logfile angezeigt.
|
EnabledItems
|
Abzuarbeitende Einträge aus der Tabelle “JobTasks”.
Angegeben wird eine Kommaliste aus “von-bis”
Bereichen, die sich auf die “PLATZNR” der Tasks
beziehen. Falls leer, werden alle Tasks abgearbeitet.
Beispiel: “1,4,10-90,110”. ACHTUNG: Dieser
Listenausdruck muss nach einem “Renumber” manuell
korrigiert werden!
|
2) In Tabelle”TASKS” werden die definierten Tasks eingetragen. Im Unterschied zu “Jobs” können
QUERY_PARAMS und DIR_BATCHFILE nicht für Tasks und Scripte einzeln angegeben werden.
Feld
|
Bedeutung
|
TASK
|
Name, unter dem die Task verwaltet wird.
|
INFO
|
Beschreibung der Task..
|
EnabledItems
|
Abzuarbeitende Einträge aus der Tabelle
“TaskScripts”. Angegeben wird eine Kommaliste aus
“von-bis” Bereichen, die sich auf die “PLATZNR” der
Scripts beziehen. Falls leer, werden alle Tasks
abgearbeitet. ACHTUNG: Dieser Listenausdruck muss
nach einem “Renumber” manuell korrigiert werden!
|
3) In Tabelle Job-Tasks wird aufgelistet, welche Tasks in welcher Reihenfolge zu einem Job gehören.
Feld
|
Bedeutung
|
Job
|
Name des Jobs, der hier definiert wird
|
PlatzNr
|
Platznummer des Tasks in der Liste (kann mit dem
“Renumber”_Button auf 10er-Schritte gebracht werden.
|
task
|
Name der Task, die Teil des Jobs ist
|
Enabled
|
Derzeit ohne Funktion
|
Info
|
Beschreibung, warum die Task an dieser Position im Job steht.
|
4) In Tabelle “Task-Scripts” wird aufgelsitet, welche Scripts in welcher Reihenfolge zu einer Task
gehören.
Feld
|
Bedeutung
|
TASK
|
Name der Tasks, die hier definiert wird.
|
PLATZNR
|
Platznummer des Scripts in der Liste (kann mit dem
“Renumber”_Button auf 10er-Schritte gebracht werden.
|
SCRIPT
|
Name des Scripts, das Teil der Task ist
|
ENABLED
|
Schalter, mit dem ein Script bei der Ausführung
ignoriert werden kann. Die Werte “0”, “” oder “False”
bewirken, daß das Script nicht ausgeführt wird. Auch
hier sind wieder <%=..%>-Ausdrücke erlaubt, so
dass die Scriptabschaltung durch andere Parameter
bestimmt wird, und somit Abhängig von der aktiven
Konfiguration ist. Damit ein Script ausgeführt
wird, muss zusätzlich das “ENABLED”-Flag des Scriptes
selbst “Ja” OK ergeben.
|
Current_Params
|
Parameter, die spezifisch für das Script in dieser
Task sind. Der Wert dieses Feldes kann mit dem
Pseudo-Parameter CURRENT_PARAMS im Feld “CMDLINE” der
Script-Beschreibung abgefragt werden.
|
RunMode
|
Angabe, wann das folgende Script in der Taskliste
abgearbeitet wird. Erlaubte Modes sind: “W” =
“Wait”: das nächste Script wird erst gestartet, wenn
dieses Script fertig ist (serielle Abarbeitung). Das
ist die Defaulteinstellung. “P” = “Parallel”: Wenn
mehrere aufeinanderfolgende Scripten mit “P” markiert
sind, bilden sie einen “parallelen Block”. Es werden
alle Scripte des Blocks sofort gestartet. Das nächste
Script mit einem RunMode <> “P” wird erst dann
ausgeführt, wenn alle Scripte des Blocks fertig sind.
“S” = “Spawn”. Das Script wird als vollkommen
unabhängiger Prozess gestartet,
es wird weder gewartet, noch wird die Ausgabe des Scripts in den Logfile übernommen. Das nächste Script wird sofort gestartet. Dieser RunMode ist für Scripte gedacht, die nie enden, weil sie z.B. andere Prozesse starten, oder undefiniert lange auf Benutzereingaben warten.
|
Info
|
Beschreibung, warum das Script an dieser Position in der Task steht.
|
Enable/Disable von Scripts
Es gibt verschiedene Mechanismen, um Scripts selektiv bei der Abarbeitung zu ignorieren, obwohl sie in der Scriptliste vorkommen:
-
Das Script selbst kann permanent abgeschaltet sein, indem die Spalte ENABLED in der Scripts-Tabelle auf ungleich 1 gesetzt wird.
Damit können zum Beispiel nicht-lauffähige Scripts zu Dokumentationszwecken in der Scriptliste bleiben.
-
Ein Script kann innerhalb einer bestimmten Task-Scriptliste deaktiviert werden, in dem TaskScripts.ENABLED auf ungleich 1 gesetzt wird. Wird in die ENABLED-Spalte ein
JavaScript-Ausdruck eingetragen, kann das Script in Abhängigkeiten von bestimmten
Parameterwerten deaktiviert werden.
Auf diese Weise lässt sich die bedingte Ausführung von Scripten programmieren.
-
Für einen Job kann die Liste der abzuarbeitenden Tasks auf Tasks mit bestimmten PlatzNummern eingeschränkt werden, indem die Nummernliste im Feld “EnabledItems”
eingetragen wird. In ähnlicher Weise kann die Scriptliste einer Task eingeschränkt werden.
Wird im Feld “EnabledItems” ein Parameteraufruf eingetragen, können vor dem Joblauf die
auszuführenden Scripts eingeschränkt werden. Das kann nötig sein, wenn ein Tasklauf mit vielen
Scripts in der Mitte abbrach und nun nur die fehlenden Scripts noch einmal ausgeführt werden
sollen.
|