Scriptor: Jobs und Tasks

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.

 

 

[Scriptor] [Parameter] [Konfigurationen] [Jobs und Tasks] [Scripts] [JavaScript] [Command line] [Designing conf hierarchy]