TOC PREV NEXT INDEX

HELIOS 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:
7.1 Einleitung und Beispiel
Jeder Ordner in Ihrem HELIOS-Volume kann als überwachter Ordner genutzt werden. Im folgenden Beispiel soll unser ausgesuchter Ordner "for_web" heißen. HELIOS liefert eine Reihe von Beispielskripten für unterschiedliche Bildformate und Anwendungszwecke mit. Der nachfolgende Abschnitt Beispielszeile zeigt eine Zeile aus dem Beispielskript "webjpeg.pl", das der Script Server aufrufen soll:
Starten Sie HELIOS Admin und wählen Sie Settings > Script Server Configuration aus, um das Fenster scriptsrv.conf zu öffnen (siehe Abb. 33).
Abb. 33: Das Fenster srciptsrv.conf in HELIOS Admin

Um auf das Beispielsskript zugreifen zu können, müssen Sie sich mit dem HELIOS Server verbinden und das Volume "Settings" mounten. Öffnen Sie dann die Datei "Script Server > Samples > webjpeg.pl" in einem Texteditor.

Wichtig: Stellen Sie sicher, dass der verwendete Texteditor Dateien mit der UNIX-konformen Zeilenschaltung speichert (nur "LF"). Texteditoren mit Macintosh-kompatibler ("CR") oder Windows-kompatibler ("LF-CR") Zeilenschaltung funktionieren hierfür nicht!

Hinweis: Normalerweise ist das Volume "Settings" für jeden Benutzer außer "root" schreibgeschützt. Passen Sie die Schreibrechte entsprechend an, wenn Sie Skripte auf dem Volume editieren oder eigene Skripte dort speichern wollen.

Wählen Sie im Editor die Zeile mit der vorgegebenen Konfiguration aus. Jedes Beispielsskript enthält diese Zeilen mit einer vorgegebenen Konfiguration, die wir in der Script Server-Konfigurationsdatei verwenden.
Beispielszeile
# TIFF,JPEG,EPSF,8BIM,8BPS,PICT,BMP ,PNGf,..CT,PDF :tif,eps,psd,pct,bmp,png,sct,pdf:/demovol/webjpeg:webjpeg.pl:root:OUTDIR=DONE,SCRIPTDEBUG=1
Kopieren Sie die Konfigurationszeile aus dem Editorfenster.
Fügen Sie die Zeile(n), die Sie aus dem Beispielskript kopiert haben, an das Ende der Konfigurationsdatei an, die im HELIOS Admin-Fenster scriptsrv.conf zu sehen ist. Löschen Sie dann das erste Zeichen (#) in der eingefügten Zeile und ersetzen Sie den Eintrag "/demovol/webjpeg" durch den Namen und Pfad des zu überwachenden Ordners.
In unserem Beispiel heißt der Ordner "for_web" und liegt im Pfad "/images". In Abb. 34 sehen Sie, wie das Fenster scriptsrv.conf aussehen sollte, nachdem die Zeilen in das Dokument eingefügt wurden.
Schließen Sie jetzt das Fenster scriptsrv.conf und sichern Sie Ihre Änderungen.
Abb. 34: Bearbeitetes HELIOS Admin-Fenster scriptsrv.conf

Sobald Sie Ihre Änderungen gesichert haben, ist Ihr überwachter Ordner einsatzbereit. Sie können nun Bilder in den überwachten Ordner verschieben. Sie werden einen neuen Ordner ("DONE") im überwachten Ordner bemerken. Dieser Ordner enthält die konvertierten JPEG-Bilder, deren Dateinamen automatisch der Buchstabe "N" angehängt wurde (z. B. aus "image.tif" wird "imageN.tif"), sowie die Originalbilder.
Ausführliche Informationen zur Script Server-Konfiguration, zum Starten, Stoppen und Aktualisieren des Script Server Prozesses, über mitgelieferte Beispielskripte und über die Fehlerbeseitigung in Skripten in Kapitel 7.4 "Konfiguration".
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. 35).
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. 35: 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.3 "Aufbau von Script Server Logdateien".
7.3 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.4 Konfiguration
"HELIOSDIR/var/conf/scriptsrv.conf" ist die Hauptkonfigurationsdatei.
"HELIOSDIR/var/adm/scriptsrv.log" ist die Logdatei, die die stdout/stderr-Ausgaben aller Skripte sowie einige Meldungen des Dienstes "scriptsrv" enthält.
HELIOS liefert mit seiner Software eine Reihe von Beispielskripten aus (siehe auch Abschnitt 7.4.3 "Mitgelieferte Beispielskripte"). Auf diese kann nach dem Mounten des Volumes "Settings" zugegriffen werden.
Zugriff aus HELIOS Admin
Auf die beiden Dateien "scriptsrv.conf" und "scriptsrv.log" können Sie aus HELIOS Admin zugreifen (Settings > Script Server Configuration und Lists > Script Server Log Files).
7.4.1 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".
Rekonfiguration des "scriptsrv"-Dienstes
srvutil reconf scriptsrv
Mit diesem Befehl aktualisiert der Script Server seine Konfigurationsdatei "scriptsrv.conf" in Bezug auf die überwachten Ordner. Außerdem werden die Präferenzeneinstellungen für den "scriptsrv"-Dienst neu eingelesen. Wird "scriptsrv.conf" in HELIOS Admin modifiziert, dann findet eine automatische Rekonfiguration statt (siehe Zugriff aus HELIOS Admin). Die Präferenzen für den "scriptsrv" -Dienst sind im Abschnitt 8.1.6 "Script Server Präferenzen" aufgelistet und erläutert.

Hinweis: Sind Teile der Konfigurationsdatei ungültig, so wird eine detaillierte Fehlermeldung in die Systemmeldungen geschrieben.

7.4.2 Die Script Server-Konfigurationsdatei
Die Konfigurationsdatei "scriptsrv.conf" enthält eine oder mehrere Zeilen zur Festlegung der überwachten Ordner mit den zugehörigen auszuführenden Skripte:

Hinweis: Der Doppelpunkt ist das Trennzeichen zwischen zwei Feldern. Wenn Sie einen Doppelpunkt in einem Feld verwenden, dann muss ihm ein rückwärts gerichteter Schrägstrich ("\") vorangestellt werden.

TYPE
Macintosh-Dateityp, z. B. EPSF oder TIFF. Nur Dateien, die diesem Dateityp entsprechen, werden bearbeitet (immer 4 Buchstaben!). Sie können die Dateitypen in eine durch Kommas getrennte Liste schreiben.
Alternativ können Sie auch DIRECTORY angeben, um Verzeichnis-Ereignisse zu erhalten.
Extension
Namenserweiterung zur Kennzeichnung des Dateityps, z. B. ".tif". Nur Dateien, auf die diese Erweiterung zutrifft, werden bearbeitet (immer ".xyz"-Syntax!). Sie können die Namenserweiterungen der Datei in eine durch Kommas getrennte Liste schreiben.
Watched folder
Alle Dateien in diesem Ordner, inklusive der Unterordner, werden bearbeitet.
Script
Ein UNIX Shellskript oder ein Perlskript, das zur Bearbeitung der Dateien aufgerufen werden soll. Das erste Argument des Skripts ist ein Dateiname, zusätzliche Parameter werden über Umgebungsvariablen übergeben. Sie finden schreibgeschützte Beispielskripte im Verzeichnis
"HELIOSDIR/var/settings/Script Server/Samples". Angepasste Skripte sollten im Verzeichnis
"HELIOSDIR/var/settings/Script Server" gesichert werden, um eine mögliche Übertragung auf eine andere Serverplattform zu gewährleisten. Das Perl-Skript sollte die Datei-Namenserweiterung ".pl" besitzen, z. B. ABCDEF.pl.

Hinweis: Alternativ können Pfade zu benutzerdefinierten Skripten absolut oder relativ zu "HELIOSDIR" angegeben werden.

User ID
Der Host-Benutzername, unter dem das Skript ausgeführt wird, z. B. "root", "demouser", -
Environment variables
Es kann eine durch Komma getrennte Liste von Umgebungsvariablen angegeben werden, die an das Skript übergeben wird, z. B. PRINTER=Laser,SCRIPTDEBUG=1. Damit erhält man ein allgemein gehaltenes Skript, das mit verschiedenen Parametern genutzt werden kann.
SCRIPT_TIMEOUT Falls diese Variable gesetzt wird, überschreibt sie die Präferenz RunTime (siehe Kapitel 8.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.
SCRIPT_EVENT Wird vom Server gesetzt. Mögliche Ereignisse sind close, move, dircreate, und dirmove.
"scriptsrv.conf"
# HELIOS Script Server configuration file
#
# Lines in this file have the form
#
# type:extension:dirpath:script:scriptuser:scriptenv
#
# type is the Macintosh Type, e.g. TIFF or a list
# of Types like TIFF,JPEG.
# extension is the Windows extension, e.g. .tif or a
# list of extensions like tif,jpg.
# if type and extension are empty, any file
# is monitored if type contains the keyword
# DIRECTORY, suffix is ignored and directory
# events are monitored
# dirpath is the full path of the hot folder to be
# watched and acted upon
# script is the program to be called for the hot
# folder, e.g. scriptname or
# /path/to/scriptname. If 'script' is not a
# fully specified path (starting with /), it
# is searched in HELIOSDIR and in
# "HELIOSDIR/var/settings/Script Server".
# It is recommended that you save all scripts
# in "HELIOSDIR/var/settings/Script Server".
# scriptuser is the user under which the script is
# getting called, e.g. root.
# if user is empty, script is executed as
# same user as the server is running
# scriptenv is a comma separated list of key=value
# items which are exported as environment
# variables for the script.
# SCRIPT_TIMEOUT specifies the maximum
# runtime, 0 means forever
# The default SCRIPT_TIMEOUT is set when no
# environment is set explicitely
# SCRIPT_EVENT is set by the server and
# contains a value like close, move,
# dircreate or dirmove
# SCRIPT_OLDNAME contains the old filename
# after a move or dirmove
#
#
# The fields are separated by colons. Colons
# used within a field must be quoted with a
# backslash (\:).
#
#Examples:
#TEXT:ps:/demovol:printps.pl:root:PRINTER=lw,SCRIPTDEBUG=1
#PDF :pdf:/demovol:printpdf.pl:demouser:
#PDF ,TIFF,JPEG,EPSF,8BIM,8BPS,PICT,BMP,PNGf,..CT:pdf,
tif,jpg,eps,psd,pct,bmp,png,sct,pdf:/demovol/webpicts:webpicts.pl:root:OUTDIR=DONE,SCRIPTDEBUG=1
#
#Wildcard registration for all file types/extensions:
#::/demovol:printps.pl:root:
7.4.3 Mitgelieferte Beispielskripte
HELIOS stellt die folgenden Beispielskripte zum Einsatz der Script Server-Funktionalität mit unserer Software zur Verfügung (Sie finden im Folgenden jedes Beispielskript mit den entsprechenden Konfigurationszeilen für den Eintrag in die Datei "scriptsrv.conf" hier aufgelistet). Bitte beachten Sie, dass in den folgenden Beispielen für den Parameter OUTDIR der Ausdruck "out" verwendet wird:
printps.pl
Druckt PostScript-Dateien an einen ausgewählten Drucker:
TEXT,EPSF:ps,eps:/demovol/printps:printps.pl:root:PRINTER=lw,SCRIPTDEBUG=1
printtext.pl
Druckt Text-Dateien an einen ausgewählten Drucker:
TEXT:txt:/demovol/printtext:printtext:root:PRINTER=lw,SCRIPTDEBUG=1

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

inspectpdf.pl
Analysiert PDF-Dokumente:
PDF :pdf:/inspectPDFHotFolder:/usr/local/helios/etc/callas/scripts/inspectpdf.pl:root:OUTDIR=DONE,PROOFPROFILE=/usr/local/helios/callas/Profiles/test.profile,SCRIPTDEBUG=0
pdfresolve.pl
Ersetzt OPI-Bilder und -Formen in PDF-Dokumenten:
PDF :pdf:/demovol/pdfresolve:pdfresolve.pl:root:OUTDIR=out,ERRDIR=
ERROR,PRINTER=ppv3,SCRIPTDEBUG=1

printpdf.pl
Druckt PDF-Dateien an einen ausgewählten PostScript-Drucker:
PDF :pdf:/demovol/printpdf:printpdf:root:PRINTER=lw,SCRIPTDEBUG=1
splitPDF.pl
Teilt eine PDF-Datei in Einzelseiten auf und verschiebt die neuen PDF-Dateien in das über den Parameter OUTDIR ausgewählte Verzeichnis:
PDF :pdf:/demovol/splitPDF:splitPDF.pl:root:OUTDIR=out,SCRIPTDEBUG=1
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:
PDF :.pdf:/demovol/convpdf2eps:convpdf2eps:root:OUTDIR=out,SCRIPTDEBUG=1

Hinweis: Die drei nachfolgenden Skripte benötigen zur Bildkonvertierung PDF HandShake.

convert2Lab.pl
Konvertiert alle unterstützten ImageServer-Dateitypen nach TIFF CIE-Lab und verschiebt die konvertierten Dateien nach OUTDIR:
PDF ,-:pdf,-:/demovol/convert2Lab:convert2Lab.pl:root:OUTDIR=out,SCRIPTDEBUG=1

Hinweis: Aus Platzgründen haben wir die obige Zeile verkürzt wiedergegeben. Gültig sind alle von ImageServer unterstützten Dateiformate.

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:
PDF ,-:pdf,-:/demovol/webpicts:webpicts:root:OUTDIR=out,SCRIPTDEBUG=1

Hinweis: Aus Platzgründen haben wir die obige Zeile verkürzt wiedergegeben. Gültig sind alle von ImageServer unterstützten Dateiformate.

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:
PDF ,-:pdf,-:/demovol/webjpeg:webjpeg:root:OUTDIR=out,SCRIPTDEBUG=1

Hinweis: Aus Platzgründen haben wir die obige Zeile verkürzt wiedergegeben. Gültig sind alle von ImageServer unterstützten Dateiformate.

7.4.4 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.4.5 Script Server Service-Port
Der Script Server Service-Port is 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 Service-Port kann standardmäßig nur von localhost aus erreicht werden. Lesen Sie dazu RemoteAccess in Kapitel 8.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: 9, Default script timeout: 120
Total jobs done: 1
Hold Run Done Ftype:Suffix:Path:Script:User:Environment
   0   0    1 JPG :jpg:/demo:script.pl:tim:SCRIPT_TIMEOUT=60
   0   0    0 DIRECTORY::/Volumes/MacOSX2/tmp:myscript.pl::
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.5.2 "Status (Service-Port 2024)".
7.5 Entwicklung und Fehlerbeseitigung von Skripten
Der Service Controller startet den Script Server automatisch. Bitte stellen Sie mit Hilfe des Aufrufs "srvutil status" sicher, 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.5.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:
SCRIPT_EVENT
SCRIPT_TIMEOUT
SCRIPT_OLDNAME
Zusätzliche benutzerdefinierte Parameter können in der Datei "scriptsrv.conf" als letztes Argument jeder Konfigurationszeile angegeben werden,
z. B. SCRIPTDEBUG=1,PRINTER=lw. 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, usw.).
7.5.2 Status (Service-Port 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.5.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.5.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 ratendeshalb 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.6 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.

© 2005 HELIOS Software GmbH