Avanti-W: Perl-Skript ausfuehren

Dierk Hoeppner ho at buch.biblio.etc.tu-bs.de
Do Jul 13 10:55:13 CEST 2000


Herr Lackhoff schrieb:

> 2) "Winframe des kleinen Mannes" Auf dem Server laeuft ein 
> kleines Script, das sich von Windows mitteilen laesst, wenn sich in
> einem bestimmten Verzeichnis etwas geaendert hat (dafuer gibt es
> eine API-Funktion, die von allen gaengigen Windows-Ports
> unterstuetzt wird und den Server nicht besonders belastet). Und wenn
> da etwas auftaucht, ein Perl-Script oder ein Avanti-Job oder eine
> Importdatei, dann kann das Serverscript darauf reagieren. Letztlich
> ist es dasselbe wie das Ur-Avanti mit Job-Dateien, nur allgemeiner
> mit allen Moeglichkeiten, die Perl bietet. Diese Variante habe ich
> damals zwar ausgetestet und sie funktionierte wunderbar, ich habe
> sie aber aus irgendwelchen Gruenden nie wirklich eingesetzt.
> Wahrscheinlich hatte ich keinen echten Bedarf, da sich alles auch
> direkt auf dem Client machen liess aber das koennte bei Ihnen ja
> anders aussehen. Ubrigens habe ich damals die entscheidende Anregung
> auch von Herrn Berger bekommen, wenn ich mich recht erinnere ;-)

Das ist eine feine Sache, die ich bei uns hausintern für unser 
Verwaltungssystem für SUBITO-Bestellungen einsetze. Die 
Bestellungen kommen ja per Mail herein. Auf einem NT-Server 
werden die Mails als einzelne Dateien in einem Verzeichnis abgelegt
(macht Win-Mercury). Das Script schläft normalerweise, d.h. es
belastet den Rechner nicht, und wird von Windows aufgeweckt, 
wenn sich
im Mail-Verzeichnis etwas tut. Dann untersucht es die Mails. Echte
Bestellungen werden dann umgewandelt und in eine - wie soll es 
anders
sein? - allegro-Datenbank überführt. Das geschieht natürlich per
avanti, der auf einer anderen Maschine läuft. 

Der Kern dieses Dämons ist ganz einfach. Im Attachment findet 
man die Lösung mit Python, mit Perl geht es sicherlich ebenso 
einfach. Eine kleine Anmerkung dazu: Es gibt eine Zeile, in der das
Programm mit dem Sleep-Befehl für 5s schlafen geschickt wird. Das 
ist
nicht notwendig, für meine Anwendung habe ich es gemacht, um 
noch
einen kleinen Moment auf weitere eingehende Mails zu warten. Die
Anwendung ist ja nicht zeitkritisch.

Die Funktion wird einfach mit dem Pfad des zu überwachenden 
Verzeichnisses aufgerufen. Sie wartet dann darauf, dass sich 
irgendwas im Verzeichnis tut: Dateiumbenennung, Neuanlage, 
Löschung. Wenn so etwas vorkommt, kehrt sie zurück. Man muss 
dann anschließend selber untersuchen, was es war und 
entsprechend reagieren bzw. nicht reagieren.

Besagtes Script läuft bei uns wochenlang klaglos. Wenn es mal 
steckenbleibt lag es bisher immer an der WinFax-Software, die auf
demselben Rechner läuft und ab und zu mal aussteigt :-(

Viele Grüße

Dierk Höppner

Dierk Hoeppner
Universitaetsbibliothek
Pockelsstr. 13
D-38106 Braunschweig
Germany
Tel: +49-531-391-5066 Fax: -5836
E-Mail: d.hoeppner at tu-bs.de     





Mehr Informationen über die Mailingliste Allegro