krn.RunScript

Führt ein VBScript oder JavaScript auf dem Server aus. Der Scripttext wird in folgender Reihenfolge ermittelt: Parameter Script, Parameter ScriptFile, Dateiliste.

Wenn das Script leer ist und nur Parameter übergeben werden, werden ausschließlich die serverseitigen Before/After-Events ausgelöst.

Dies ist ein generischer Job: Beliebige Eingabeparameter können übergeben werden und der Server kann beliebige Ausgabeparameter und Dateien zurückgeben.

1. Eingabeparameter

Name Typ Pflicht Beschreibung

Flags

INT

Ja

Derzeit nicht unterstützt — 0 übergeben.

Script

STRING

Ja

Auszuführender Scripttext. Kann leer sein, wenn ScriptFile oder die Dateiliste verwendet wird, oder wenn nur Events getriggert werden sollen.

CtxName

STRING

Ja

Name des Kontextes. Leer = Default-Name wird verwendet.

GUI

BOOLEAN

Ja

true = MsgBox darf aus dem Script aufgerufen werden (abhängig von der Server-Umgebung). false = nicht erlaubt.

Eval

BOOLEAN

Ja

true = der Scripttext wird als Ausdruck ausgewertet (Eval). false = der Scripttext wird als Funktionsblock ausgeführt (Exec).

[IsJS]

BOOLEAN

Nein

true = JavaScript-Ausführung. false oder nicht angegeben = VBScript-Ausführung.

[Main]

STRING

Nein

Name der Entry-Point-Funktion. Default: Main.

[ScriptFile]

STRING

Nein

Name einer Scriptdatei im scripts-Unterverzeichnis der Serverkonfiguration. Wird verwendet, wenn Script leer ist.

[ScriptName]

STRING

Nein

Name des Scripts für Debugging-Zwecke.

[InspectorEnabled]

INT

Nein

V8-Inspector-Steuerung (nur für JavaScript). 0 = deaktiviert, 1 = aktiviert, -1 = durch oxv8.metadata.cfg geregelt (Standardverhalten wenn nicht angegeben).

beliebig

beliebig

Nein

Alle weiteren Parameter werden als Eingabeparameter an den Job und die serverseitigen Events weitergereicht.

2. Eingabedateien

Beliebige Dateien können übergeben werden. Das Script bzw. die serverseitigen Events können diese verarbeiten und eigene Dateien in der Antwort zurückgeben.

3. Ausgabeparameter

Name Typ Beschreibung

$ScriptResult$

variabel

Rückgabewert des Scripts. Der Typ hängt vom Script ab (INT, STRING, FLOAT, BOOLEAN, etc.). Nicht immer vorhanden.

beliebig

beliebig

Das Script und die serverseitigen Events können beliebige zusätzliche Ausgabeparameter setzen.

4. Eval und Exec

Exec-Modus (Eval=false): Das Script wird als Funktionsblock ausgeführt. Der Rückgabewert der Entry-Point-Funktion (Standard: Main) wird als $ScriptResult$ zurückgegeben.

Function Main()
    Main = 42
End Function

Eval-Modus (Eval=true): Der Scripttext wird als Ausdruck ausgewertet. Das Ergebnis wird als $ScriptResult$ zurückgegeben.

5. Rückgabe

(INT): 0 = Job erfolgreich, sonst Fehlercode.

Wenn die gesamte Logik in serverseitigen Before/After-Events liegt und kein Scripttext benötigt wird, sollte bevorzugt krn.EmptyJob verwendet werden.

6. Siehe auch

krn.EmptyJob — Generischer Job ohne Scriptausführung, nur über Events gesteuert.