ImageServer UB+ Benutzerhandbuch


7 Script Server

HELIOS ImageServer enthält den Dienst Script Server, der einen Mechanismus zur Überwachung von Ordnern implementiert. Sie ziehen einfach eine Datei in einen überwachten Ordner und es wird automatisch ein Vorgang gestartet, der die Datei gemäß einem vorhandenen Skript konvertiert.

Wesentliche Vorteile des Script Servers sind:

Jeder Ordner in Ihrem HELIOS-Volume kann als überwachter Ordner genutzt werden. HELIOS liefert eine Reihe von Beispielskripten für unterschiedliche Bildformate und Anwendungszwecke mit.

Ausführliche Informationen zum Starten, Stoppen und Aktualisieren des Script Server Prozesses, über mitgelieferte Beispielskripte und über die Fehlerbeseitigung in Skripten finden Sie in Kapitel 7.3 "Starten, Stoppen und Aktualisieren des Script Server Prozesses" sowie 7.4 "Mitgelieferte Beispielskripte".

7.1 Script Server Vorgaben

Der HELIOS Script Server sowie Skripte werden mittels Präferenzen in HELIOS Admin konfiguriert.

Wählen Sie aus dem Menü Vorgaben im HELIOS Admin den Eintrag Script Server Vorgaben (Abb. 33).

Im Feld Skript Verzögerung können Sie eine Zeit eingeben, die nach dem Registrieren eines Dateiereignisses erst verstreicht, bis das Skript gestartet wird. Script Zeitvorgabe legt die Zeit fest, die ein Skript maximal zur Ausführung benötigen darf. Durch Eingabe des Wertes 0 können Sie diese Einschränkung aufheben. Im Feld Gleichzeitige Skripte können sie die maximale Anzahl gleichzeitig ausführbarer Skripte festlegen und so die Serverlast begrenzen. Dieser Wert sollte die Anzahl physischer CPUs auf keinen Fall überschreiten. Wird dieses Feld leer gelassen, ermittelt Script Server die Anzahl der Prozessoren und legt automatisch einen angemessenen Wert fest.
Abb. 33: HELIOS Admin Fenster Script Server Vorgaben

7.1.1 Konfiguration von Skript-Warteschlangen

In der Registerkarte Skripte lassen sich Skript-Warteschlangen mittels verschiedener Konfigurationen für verschiedene Aufgaben einrichten.

Hinweis: Sollte die Registerkarte Skripte nach dem ersten Anmelden nicht zur erfügung stehen, aktivieren Sie bitte im Menü Listen den Eintrag Skripte.

In der Registerkarte Skripte (Abb. 34) werden alle dem Host bekannten Skript-Warteschlangen aufgelistet. Der HELIOS Admin Server generiert diese Liste automatisch aufgrund Skript bezogener Einträge in der Datei "Präferenzen".
Abb. 34: HELIOS Admin Registerkarte Skripe

In der Spalte Name steht der Name der jeweiligen Warteschlange, während der tatsächliche Name des benutzten Skripts in der Spalte Skript geführt wird.

Die Spalten Warten, In Arbeit und Fertig informieren über den Status einer Warteschlange. Warten bedeutet, dass ein Skriptauftrag angenommen aber noch nicht verarbeitet wurde. In Arbeit zeigt an, dass das Skript gerade abläuft und Fertig, dass das Skript durchgelaufen ist.

Der Pfad zum überwachten Ordner ("Hot folder"), also dort, wo das Skript nach zu verarbeitenden Dateien oder Verzeichnissen "schaut", wird unter Aktiver Ordner angezeigt. Unter Typ sowie Endung werden die für die Warteschlange definierten Dateitypen und -endungen aufgelistet.

Eine Warteschlange konfigurieren

Die Konfiguration einer Skript-Warteschlange wird im Fenster Skript vorgenommen (Abb. 35):

Markieren Sie die gewünschte Warteschlange in der Liste und wählen Sie Einstellungen aus dem Menü Skript.

Abb. 35: HELIOS Admin Fenster Skript - Allgemein

In der Registerkarte Allgemein (Abb. 35) werden allgemeine Einstellungen für die betreffende Warteschlange vorgenommen. Über die Option Aktiv kann die Warteschlange für den Script Server aktiviert werden. Ist diese Option nicht aktiviert, erscheint der Name der Warteschlange in der Liste Skripte ausgegraut (siehe den Eintrag "PDF_print" in Abb. 34).

Geben Sie im Feld Name einen Namen für die Warteschlange und das gewünschte Skript im Feld Skript an. Sie können Namen und Pfad des Skripts direkt eingeben, oder mit der Schaltfläche Auswählen- danach suchen.

Hinweis: Ist für zwei oder mehrere Warteschlangen derselbe überwachte Ordner definiert, und sind für sie dieselben Dateitypen und -endungen definiert, werden die Skripte alphabetisch ausgeführt. Durch Umbenennen der Warteschlangen können Sie aber die Reihenfolge an Ihre Bedürfnissen anpassen.

Wenn Sie auf das Symbol (siehe Pfeil in Abb. 35) klicken, öffnet sich die ausgewählte Skriptdatei und kann bearbeitet werden. Sie können dazu auch aus dem Menü Datei den Punkt Öffnen wählen.

Im Feld Aktiver Ordner geben Sie bitte den Pfad zum überwachten Ordner an. Dies können Sie entweder von Hand machen oder über die Schaltfläche Auswählen-.

Wichtig: Der angegebene Pfad muss bereits bestehen! Andernfalls ignoriert Script Server diesen Eintrag.

Die Option Mit Unterordnern ist standardmäßig abgeschaltet. Dies verhindert, dass Script Server Unterverzeichnisse im angegebenen Pfad auch als überwachte Ordner wertet. Wenn jedoch genau dies erwünscht ist, muss diese Option gesetzt werden.

Sie können einen Benutzernamen, unter dem das Skript ausgeführt werden soll, im Feld Benutzer eingeben. Bleibt das Feld frei, so wird das Skript als superuser ausgeführt.

Hinweis: Unter Windows macht das Eingabefeld Benutzer das erneute Setzen des existierenden Benutzerkennworts erforderlich. Dies lässt sich mit dem HELIOS Tool "authutil" einfach bewerkstelligen, z. B.: authutil passwd -n user -p passwd. Diese Information wird verwendet, um das Skript unter dem angegebenen Benutzerkonto auszuführen.

Zeitvorgabe legt die Zeit fest, die ein Skript maximal zur Ausführung benötigen darf. Durch Eingabe des Wertes 0 können Sie diese Einschränkung aufheben. Wenn Sie in diesem Feld einen Wert eingeben, wird die Servervorgabe überschrieben (vergl. Abb. 33).

Für eine detaillierte Ausgabe aktivieren Sie die Option Ausführliche Meldungen. Der Wert wird als SCRIPTDEBUG Variable an das Skript übergeben.

Soll der überwachte Ordner nur auf bestimmte Dateitypen oder -endungen reagieren, können Sie diese für die Warteschlange definieren. Dazu wählen Sie die Registerkarte Dateitypen (Abb. 36).

Geben Sie den Dateityp in das linke Eingabefeld ein und klicken Sie auf Hinzufügen. Verfahren Sie genauso für die Dateiendungen.

Hinweis: Für die Spezifikation des Dateityps werden immer 4 Zeichen benötigt. Dies können auch Leerzeichen sein, z. B. "PDF ".

Wenn Sie möchten, dass der Script Server bei Verzeichnis- statt Dateiereignissen benachrichtigt wird, Aktivieren Sie die Option Änderung bei Ordnern. In diesem Fall würden Dateiereignisse ignoriert und die Spalten Typ und Endung in der Liste Skripte erscheinen ausgegraut. Zusätzlich wird aus dem "Datei" Symbol ein "Verzeichnis" Symbol (siehe dritter Eintrag in Abb. 34).
Abb. 36: HELIOS Admin Fenster Skript - Dateitypen

Je nach angegebenem Skript kann es erforderlich sein, zusätzliche Umgebungsvariablen für die Warteschlange in der Registerkarte Laufzeitumgebung zu definieren (Abb. 37).

Geben Sie den Namen der Umgebungsvariable in das entsprechende Feld ein und weisen Sie ihr den gewünschten Wert zu. Klicken Sie dann auf Hinzufügen.

Wichtig: Umgebungsvariablen werden über eine Shell an Perl übergeben. Deshalb sind nur ASCII-Zeichen zulässig. Das liegt daran, dass einige Shells (besonders unter Windows) wie auch Perl nicht alle UTF-8 Zeichen interpretieren können.

Um einen Eintrag aus der Liste Laufzeitumgebung zu entfernen, markieren Sie diesen und wählen Sie dann Entfernen aus dem Menü Bearbeiten. Sie können den zu entfernenden Eintrag auch doppelklicken, worauf er aus der Liste verschwindet während die Variable und ihr Wert in den entsprechenden Feldern erscheinen.

Hinweis: Sie können auf diese Weise Variablen und ihre Werte bearbeiten. Danach müssen Sie die Änderungen speichern.

Abb. 37: HELIOS Admin Fenster Skript - Laufzeitumgebung

Eine Warteschlange anlegen

Eine Skript-Warteschlange wird folgendermaßen angelegt:

Gehen Sie in HELIOS Admin in die Registerkarte Skripte und wählen Sie aus dem Menü Datei den Eintrag Neu.

Wenn Sie eine neue Skript-Warteschlange anlegen möchten, die die meisten Einstellungen einer bereits existierenden Warteschlange übernehmen soll, ist es besonders bequem eine Warteschlange aus der Liste Skripte zu kopieren und dann wieder einzufügen. Es öffnet sich zuerst ein Konfigurationsfenster, in dem Sie die Einstellungen für die neue Warteschlange vornehmen können. Anstatt einen Warteschlange zu kopieren und wieder einzusetzen, können Sie diese auch in der Liste Skripte markieren, mit der gedrückter Maustaste innerhalb der Liste verschieben und die Maustaste dann loslassen. Diese Methode wird auch "Drag and Drop" genannt.

Nachdem Sie die Einstellungen für die neue Warteschlange vorgenommen und die Änderungen bestätigt haben, erscheint die neue Warteschlange in der Liste. Schließen Sie das Konfigurationsfenster ohne die Änderungen zu sichern, wird keine neue Warteschlange angelegt.

Eine Warteschlange entfernen

Eine Skript-Warteschlange wird folgendermaßen entfernt:

Markieren Sie in der Liste Skripte die Warteschlange, die Sie entfernen möchten, und wählen Sie dann Entfernen aus dem Menü bearbeiten. Sie können stattdessen auch die Warteschlange markieren und dann auf das Symbol "Papierkorb" klicken.

7.1.2 Automatische Konfiguration

Beim Einrichten einer neuen Skript-Warteschlange kann HELIOS Admin die Konfiguration aus dem angegebenen Skript auslesen und die entsprechenden Felder mit Vorgabewerten ausfüllen. Dazu muss das Skript allerdings die Konfigurationsdaten bereits enthalten. Diese werden innerhalb des Skripts mit <settings> eingeleitet und mit </settings> abgeschlossen. Des Weiteren muss das Skript für die Warteschlange mittels der Schaltfläche Auswählen- spezifiziert werden (vergl. Abb. 35). Das folgende Beispiel zeigt - in einem Ausschnitt für die Warteschlange "For_HTML" - die definierten Vorgabewerte:

webpicts.pl:
#
# Sample configuration
#
my $default_settings = <<'</SETTINGS>'; # Let Perl ignore the settings block
<SETTINGS>
<General
Enable="true"
Hot_Folder="/scriptserver/For_HTML"
Include_Subdirectories="false"
User=""
Timeout=""
/>
<File_Types
Types="TIFF,JPEG,EPSF,8BIM,8BPS,PICT,BMP,PNGf,..CT,PDF "
Suffixes="tif,jpg,eps,psd,pct,bmp,png,sct,pdf"
Folder_Changes="false"
/>
<Environment
OUTDIR="DONE"
/>
</SETTINGS>

Abb. 38: HELIOS Admin Fenster Skript - Dateitypen

Immer wenn unter Allgemein ein Skript mittels Schaltfläche Auswählen- angegeben wurde, steht sowohl in der Registerkarte Dateitypen als auch Laufzeitumgebung die neue Schaltfläche Vorgaben aus der Skriptdatei zur Verfügung (Abb. 38 und Abb. 39). Dies ist auch dann der Fall, wenn ein anderes Skript über Auswählen- angegeben wurde. Vorgaben aus der Skriptdatei erlaubt es die Voreinstellungen, die im ausgewählten Skript hinterlegt sind, wiederherzustellen.

Abb. 39: HELIOS Admin Fenster Skript - Laufzeitumgebung

7.1.3 Fenster "Skriptaufträge"

Der Status der Skript-Warteschlange wird im Fenster Skriptaufträge angezeigt. Sobald ein Skriptauftrag angenommen ist, wechselt die Anzeige in der Spalte Skript Status auf "Warten". Während der Skriptausführung wechselt der Status auf "In Arbeit". Ist das Skript komplett ausgeführt, verschwindet "In Arbeit" aus der Spalte Skript Status. Die Abrechnungsinformation (siehe Pfeil in Abb. 40) zeigt den Status aller Skriptaufträge an und gibt zusätzlich die Anzahl aller abgearbeiteten Aufträge an ("Fertig").

Hinweis: Die Abrechnungsanzeige wird zurückgesetzt, wenn die Konfiguration geändert wird oder der "scriptsrv"-Prozess neu gestartet wird.

Abb. 40: HELIOS Admin Fenster Skript - Allgemein

7.2 Script Server Logdateien

Die Script Server Logdatei listet Aktionen von Skripten oder dem Script Server unter der Angabe von Datum und Zeit auf (siehe Abb. 41).

Script Server Logdateien sind chronologisch geordnet. Jede Nacht startet um Mitternacht das (Host)-Programm "cron" automatisch im Hintergrund, um die Logdateien der letzten sieben Tage umzubenennen. Die Datei "heute" wird zur Datei "gestern", "gestern" wird zu "vor 2 Tagen" und so weiter. Sie können dann beispielsweise die Logdatei von "vor 3 Tagen" auswählen. Logdateien, die älter als sieben Tage sind, werden automatisch gelöscht.

Wählen Sie Script Server Logdatei aus dem Menü Listen und geben Sie den gewünschten Tag an.

Abb. 41: Script Server Logdatei auf dem Host "ankh"

Wählen Sie Sichern als- aus dem Menü Datei um die gesamte Script Server Logdatei als Textdatei zu speichern.

Sie können dann diese Information zur weiteren Verwendung in ein Textverarbeitungsprogramm einlesen. HELIOS Admin bezieht seine Informationen aus den Dateien "HELIOSDIR/var/adm/scriptsrv.log" ("heute") bis "HELIOSDIR/var/adm/scriptsrv.6" ("vor sieben Tagen"). Weitere Informationen erhalten Sie unter 7.2.1 "Aufbau von Script Server Logdateien".

7.2.1 Aufbau von Script Server Logdateien

Bei der Fehlerbehebung kann die Script Server Logdatei von Interesse für Sie sein. Sie kann aus HELIOS Admin sehr einfach eingesehen werden.

Jeder Eintrag in "HELIOSDIR/var/adm/scriptsrv.log" (inklusive der Erweiterungen ".0", gestern bis ".6" vor sieben Tagen) hat den folgenden Aufbau:

date time scriptsrv[pid] or script: status
Hinweis: HELIOS Admin aktualisiert den Inhalt der angezeigten Script Server Logdateien (Lists > Script Server Log Files) sofort und ohne Verzögerung.

7.3 Starten, Stoppen und Aktualisieren des Script Server Prozesses

Der "scriptsrv"-Prozess wird automatisch beim Aufruf der Befehle "start-helios" und "stop-helios" gestartet bzw. gestoppt. Der Status des "scriptsrv"-Dienstes kann mit Hilfe des Werkzeugs "srvutil" geändert werden:

Hinweis: Das Werkzeug "srvutil" befindet sich im Verzeichnis "HELIOSDIR/bin".
Stoppen des "scriptsrv"-Dienstes
srvutil stop scriptsrv

Stoppt den Dienst "scriptsrv". Neue Ereignisse werden nicht verarbeitet. Alle bereits in der Warteschlange stehenden Ereignisse werden bis zu 30 Sekunden nach dem Auftreten des Stop-Befehls noch abgearbeitet. Allen ausgeführten Skripten wird das Signal TERM als Information über das Abschalten des Dienstes "scriptsrv" gesendet.

Starten des "scriptsrv"-Dienstes
srvutil start scriptsrv

Startet den Dienst "scriptsrv".

7.4 Mitgelieferte Beispielskripte

HELIOS stellt die folgenden Beispielskripte zum Einsatz der Script Server Funktionalität mit unserer Software zur Verfügung:

action-psd-cs2.pl

Ruft eine Photoshop Aktion auf (CS2).

archiver.pl

Erstellt ein Disk Image von Dateien und Ordnern, die in den Hot Folder kopiert werden.

printps.pl

Druckt PostScript-Dateien an einen ausgewählten Drucker.

printtext.pl

Druckt Text-Dateien an einen ausgewählten Drucker.

setimgdpi.pl

Weist Bildern eine festgelegte Auflösung zu.

setimgsize.pl

Weist Bildern festgelegte Abmessungen zu.

sharpen-psd.pl

Wendet den Photoshop Scharfzeichnungsfilter auf ein Bild an (CS3).

Zur Ausführung der drei folgenden Skripte ist es erforderlich, dass PDF HandShake auf demselben Host installiert ist.
inspectPDF.pl

Analysiert PDF-Dokumente. Bei der Erzeugung des Ordners "DONE" wird das Programm "dt" verwendet.

pdfflatten.pl

Reduziert die in einem PDF-Dokument enthaltenen Transparenzen.

pdfresolve.pl

Ersetzt OPI-Bilder und -Formen in PDF-Dokumenten. Die neue Umgebungsvariable RESOLVEOPTION erlaubt die Angabe zusätzlicher Kommandozeilen-Parameter für "pdfresolve.pl".

printpdf.pl

Druckt PDF-Dateien an einen ausgewählten PostScript-Drucker.

printpdfOptions.pl

Ein erweitertes Skript für das Drucken von PDF-Dateien, welches es erlaubt, zusätzliche Parameter anzugeben.

splitPDF.pl

Teilt eine PDF-Datei in Einzelseiten auf und verschiebt die neuen PDF-Dateien in das über den Parameter OUTDIR ausgewählte Verzeichnis.

convpdf2eps.pl

Konvertiert eine PDF-Seite in eine EPSF-Datei und verschiebt die neue EPSF-Datei in das über den Parameter OUTDIR ausgewählte Verzeichnis.

Die drei nachfolgenden Skripte benötigen zur Bildkonvertierung PDF HandShake.
convert2Lab.pl

Konvertiert alle unterstützten ImageServer-Dateitypen nach TIFF CIELab und verschiebt die konvertierten Dateien nach OUTDIR.

webpicts.pl

Erzeugt eine 128 x128 Pixel PNG-Internetdatei und verschiebt die neue PNG-Dateien in das über den Parameter OUTDIR ausgewählte Verzeichnis. Alle Farben (inklusive Schmuckfarben) werden nach RGB konvertiert.

webjpeg.pl

Erzeugt eine 128 x128 Pixel JPEG-Internetdatei und verschiebt die neue JPEG-Dateien in das über den Parameter OUTDIR ausgewählte Verzeichnis. Alle Farben (inklusive Schmuckfarben) werden nach RGB konvertiert.

7.4.1 HELIOS Speicherort für Skripte

Wir empfehlen Ihnen, alle Skripte in das Verzeichnis "Script Server" im Volume "Settings" zu kopieren. Die Vorteile des von HELIOS vorgegebenen Verzeichnisses zur Speicherung von Skripten sind:

7.5 Script Server Serviceport

Der Script Server Serviceport ist 2024.

Geben Sie auf der Kommandozeile das Kommando socket localhost 2024 ein, dann help für eine Übersicht aller Befehle sowie quit zur Beendigung.

Hinweis: Der Script Server Serviceport kann standardmäßig nur von localhost aus erreicht werden. Lesen Sie dazu RemoteAccess in Kapitel 9.1.6 "Script Server Präferenzen".
showconf

Zeigt gültige sowie aktive Konfigurationszeilen und Statistiken an:
Hold Wie viele Druckaufträge befinden sich in
der Warteschlange für das Skript
Run Wie viele Druckaufträge laufen gerade
Done Wie viele Druckaufträge wurden von
diesem Skript bearbeitet
Ftype:Suffix:Path:Script:User:Environment

Beispiel:
# /usr/local/helios/bin/socket localhost 2024
Welcome to the HELIOS Script Server service port
showconf
# Config of scriptsrv
Hold time: 10
Default script timeout: 120
# Queue name:Ftype:Suffix:Hotfolder:Script:User:
Environment
PNG_convert:::/scriptserver/for_HTML:convert2Lab.pl::
OUTDIR=Done,SCRIPT_TIMEOUT=120,SCRIPTDEBUG=0
OK

Allgemeine Zusatzinformationen:

Sie können dies zur Fehlerbeseitigung verwenden oder um zu sehen, ob das Skript fehlerfrei läuft (Statistik).

showq

Zeigt den Status der aktuellen Aufträge in der Warteschlange in der hold, run und termination Syntax an:

h File scriptname user
t File scriptname user
r File scriptname user status

Das Statusfeld wird durch Ausgabe der Skripte, die mit Status:- beginnen, gefüllt. Lesen Sie dazu auch 7.6.2 "Status (Serviceport 2024)".

7.6 Entwicklung und Fehlerbeseitigung in Skripten

Der Service Controller startet den Script Server automatisch. Bitte prüfen Sie mithilfe des Aufrufs "srvutil status", dass der Dienst "scriptsrv" läuft und dass die Systemmeldungen keine Fehlermeldungen enthalten.

Die Registrierungen für die unterschiedlichen Skripte werden über Port 2024 angezeigt.

Jedesmal wenn ein kundenspezifisches Skript aufgerufen wird, enthält die Datei "scriptsrv.log" Informationen ähnlich der folgenden:

29.07.2005 18:00:07 scriptsrv [1747]: Create process
myscript.pl[1854] job added by tim
...
29.07.2005 18:00:17 scriptsrv [1747]: Process
myscript.pl[1854] done

Jede normale Ausgabe sowie jede Fehlermeldung des Skripts wird automatisch in die Datei "scriptsrv.log" umgeleitet. Vor jeder Zeile stehen Datum und Uhrzeit sowie der Name des Skripts.

7.6.1 Skriptparameter

Skripte werden mit dem Dateinamen als erstes Argument aufgerufen. Beispielsweise bekommt ein Host-Shellskript den Dateinamen in $1, ein Perlskript in $ARGV[0].

Zusätzliche Parameter werden über Umgebungsvariablen bereitgestellt:

SCRIPTDEBUG

Ausführliche Meldungen ("verbose") werden geschrieben.

SCRIPT_EVENT

Wird vom Server gesetzt. Mögliche Ereignisse sind close, move, dircreate, und dirmove.

SCRIPT_EVENTUSER

Name des Benutzers, der das Ereignis ausgelöst hat.

IMAGE_SERVER_LICENSE

Das Skript wird an die Seriennummer einer ImageServer Installation gebunden. Dadurch lässt sich beispielsweise verhindern, dass ein Skript an andere weitergegeben wird.

SCRIPT_HOTFOLDER

Absoluter Pfad zum Hot Folder.

SCRIPT_NAME

Name des Skripts.

SCRIPT_TIMEOUT

Falls diese Variable gesetzt wird, überschreibt sie die Präferenz RunTime (siehe Kapitel 9.1.6 "Script Server Präferenzen").

SCRIPT_OLDNAME

Diese Variable, welche den alten Namen enthält, wird vom Server gesetzt und kann in dem Skript ausgewertet werden sofern das Ereignis move oder dirmove ist.

Zusätzliche benutzerdefinierte Parameter können im Fenster Laufzeitumgebung (Abb. 37) angegeben werden. Die kundenspezifische Umgebung ist als Umgebungsvariable im Skript verfügbar. Damit ist es möglich, ein Skript zu entwickeln und es für verschiedene überwachte Ordner zu nutzen, indem unterschiedliche Parameter genutzt werden (z. B. Drucker, ICC-Profile, Farbräume).

7.6.2 Status (Serviceport 2024)

Skriptausgaben, die mit Status: beginnen, werden nicht in "scriptsrv.log" geschrieben, sondern nach Aufruf des Kommandos "showq" auf Service-Port 2024 angezeigt. Hintergrund: Benötigt die Verarbeitung durch ein Skript sehr lange Zeit, bekommt der Benutzer - der den Prozess über den Service-Port beobachtet - über das Skript mitgeteilt, was tatsächlich gerade vom Skript ausgeführt wird.

7.6.3 Fehlerbeseitigung in separat laufenden Skripten (ohne Script Server)

Es ist sinnvoll, die Skripte zunächst manuell in einer Host-Terminalsitzung zu testen um zu überprüfen, ob sie funktionieren. Der Script Server ruft alle Skripte so auf, dass das aktuelle Verzeichnis auf das HELIOS Produktverzeichnis gesetzt ist. Daher ist es notwendig, dass Sie zunächst in das Verzeichnis HELIOSDIR wechseln, bevor Sie ein Skript manuell aufrufen:

Manueller Aufruf eines nicht automatisierten Skripts, z. B. das Skript "printps.pl", unter Verwendung einer Bash- oder Bourne-Shell:

cd /usr/local/helios
chmod +x var/settings/Script Server/printps.pl
export HELIOSDIR="/usr/local/helios"
export PRINTER="lw"
export SCRIPTDEBUG=1
export PRINT_TIMEOUT=60
export SCRIPT_EVENT=close
var/scripts/printps "/data/demovol/TestFolder/test.ps"

Wenn dieser Aufruf Fehlermeldungen hervorruft oder das Skript sich nicht wie erwartet verhält, dann muss dieses Problem gelöst werden, bevor das Skript in dem automatisierten Ereignis-gesteuerten Script Server eingesetzt wird.

Der Aufruf von nicht automatisierten Skripten ermöglicht die Fehlerbeseitigung unter Verwendung des Perl-Debuggers oder eines Host-Debuggers für C/C++ Programme. Die einfache Fehlerbeseitigung mit Hilfe von ausgegebenen Meldungen innerhalb der automatischen Script Server-Umgebung kann ebenfalls eingesetzt werden. Die gesamte Ausgabe des Skripts wird später automatisch in die Datei "scriptsrv.log" umgeleitet.

Hinweis: Jedes HELIOS Perl-Beispiel enthält den folgenden "Header" (Pseudokommentar):
#!var/run/runperl -w

Dies bedeutet, dass das Skript einfach durch Aufruf ausgeführt wird. Es muss immer aus dem HELIOS Verzeichnis aufgerufen werden (z. B. "/usr/local/helios"), da sonst der Pfad "var/run/runperl" nicht gefunden wird. Die Datei "runperl" ist ein symbolischer Link auf Ihren Perl-Interpreter (Perl runtime), z. B. "/usr/bin/perl" auf Mac OS X- oder Linux-Systemen.

Bei jedem Aufruf des Befehls "start-helios" wird der "runperl"-Link automatisch erzeugt. Dies kann hilfreich sein, wenn Perl zu einem späteren Zeitpunkt installiert wird (in den Skripten sind keine Änderungen erforderlich).

Eine alternative Möglichkeit zum Testen Ihrer Skripte in einem anderen Verzeichnis ist die Erzeugung des runperl-Links in Ihrem Skript-Verzeichnis.

Beispiel (z. B. auf Mac OS X oder Linux):

# cd /home/myhome
# mkdir -p var/run
# ln -s /usr/bin/perl var/run/runperl

7.6.4 Skript-Fehlerbeseitigung in der Script Server Umgebung

Um die "holdQueue" und "runQueue" sowie die Konfiguration des laufenden "scriptsrv"-Daemon zu inspizieren, verbinden Sie sich mit dem Serviceport 2024. Sie können "showq" verwenden um die Warteschlange und "showconf" um die Konfiguration zu inspizieren.

Wird die Konfigurationszeile nicht angezeigt, kann das an einem Fehler in der Syntax liegen. Detaillierte Fehlermeldungen werden in die Systemmeldungen geschrieben.

Treffen mehr als eine Zeile der Konfiguration auf einen Auftrag zu, so wird die erste in der Reihenfolge verwendet.

Um die Skript-Variable SCRIPTDEBUG zu aktivieren, ist es erforderlich den Wert auf 1 zu setzen. Sie können auch die globale Präferenz scriptdebug setzen:

prefvalue -k Programs/scriptsrv/scriptdebug -t int 1

Löschen Sie die Präferenz scriptdebug über:

prefvalue -k Programs/scriptsrv/scriptdebug -d
Wichtig: Die globale Präferenz scriptdebug aktiviert Debugging für alle Skripte. Wir raten deshalb davon ab, die Debug-Präferenz auf einem Produktionsserver zu verwenden, da dies eine große Systemlast auf dem Server zur Folge hat und den Server in erheblichem Maße bremsen kann!

7.7 Weitere Hinweise

Sie sollten die registrierten Typen/Namenserweiterungen sowie Verzeichnisse auf jene beschränken, die tatsächlich von Ihrem Skript bearbeitet werden, so dass unnötige Kommunikation und Verarbeitung vermieden wird.

Wenn Sie Skripte für die Layouterzeugung (mit dem normalen oder dem Konvertierungsmodus) verwenden, dann sollten Sie die automatische Layouterzeugung für den überwachten Ordner oder das komplette Volume, in dem sich der überwachte Ordner befindet, deaktivieren.


© 2008 HELIOS Software GmbH