Thread Projekt - Perl in Windows 2008 (47 answers)
Opened by WilliamW at 2013-10-17 18:11

WilliamW
 2013-10-24 21:37
#171463 #171463
User since
2013-10-17
27 Artikel
BenutzerIn
[default_avatar]
Ich habe nun mal das Perl-Skript bei der Testumgebung aus probiert, die auf Basis des produktiven Server's läuft.
Auch wie zu Hause auf meiner Virtuellen Maschine funktioniert das 2. Beispiel Example 2: Typical skeleton code. Das 5. Beispiel Example 5: Using different callback routines hingegen lässt sich starten, pausieren, neustarten und auch beenden, aber leider lässt sich der Service nicht vom pausierten (paused) Zustand durch die (Resume-Funktion) in den laufenden (running) Zustand bringen, weil sobald man den Service "resumen" möchte, kommt eine Fehlermeldung, dass das Skript nicht in einem angemessenen Zeitfenster reagiert. Die gleiche Fehlermeldung erhalte ich auch beim 4. Beispiel Example 4: Using a single callback, wobei dort dieser Fehler sofort auf tritt, sobald man versucht den Service zu starten.

Ich vermute, dass hier irgendwo ein Syntax- oder ein logischer Fehler die Ursache für diesen Fehler ist, welchen ich aber nicht finden kann.
Denn das 2. Beispiel Example 2: Typical skeleton code bringt genau den selben Fehler, sobald man versucht den Service zu starten. Dort habe ich aber den Syntax-Fehler gefunden und zwar liegt der in Zeile 20 des Quellcodes beim "elseif" - Ausdruck, welcher in Perl "elsif" sein muss.
Wenn man diesen Quellcode mit Notepad++ öffnet und auf "Perl" Sprache einstellt, dann steht dort ein "elsif" und man würde denken dieser ist behoben. Speichert man die Datei so ab und öffnet die statt dessen mit einem gewöhnlichen Text-Editor, dann sieht man in der selben Zeile (20) statt dessen aber ein "elseif" , welcher von der Syntax in der Perl-Sprache nicht korrekt ist.
Nur durch ausführen dieses Perl-Skriptes innerhalb der Shell, ohne diesen wirklich als Service zu starten, wurde ich auf diesen Syntax-Fehler hingewiesen. Bei den anderen beiden Beispielen hingegen (4 u. 5) laufen die Perl-Skripts ohne Fehlermeldung, aber auch nur in der Shell ohne wirklich als Service zu laufen.


Da das 2. Beispiel als Service funktioniert aber das 4. und 5. nicht, gehe ich mal stark davon aus, dass das 4. und 5. Beispiel nicht korrekt geschrieben sind. Denn am Code selber habe ich keine Änderungen vor genommen. Oder das 4. und 5. Beispiel benötigen bestimmte Anforderungen, die aber in der Dokumentation nicht genannt werden.

Evtl. findet ihr ja die Ursache dafür, warum das 4. und 5. Beispiel nicht funktionieren oder ob diese Beispiele bei euch evtl. sogar ohne jegliche Fehlermeldungen funktionieren. Weil dann würde mich mal interessieren unter welchen Bedingungen ihr diese als Service aufgesetzt habt.
Last edited: 2013-10-24 21:51:01 +0200 (CEST)

View full thread Projekt - Perl in Windows 2008