Avanti-W: Lange Jobs

Sibylle Koczian Sibylle.Koczian at Bibliothek.Uni-Augsburg.de
Mit Dez 13 17:00:29 CET 2000


Lieber Herr Berger,

At 10:40 13.12.00 +0100, you wrote:

>Bei derartiger Low-Level-Programmierung steigt natuerlich
>das Risiko, etwas falsch zu machen. Der Reiz von Sockets
>besteht aber genau darin, mit High-Level-Befehlen wie
>"print" genauso agieren zu koennen, als handele es sich
>um eine Datei, in die geschrieben wird. Insofern ist
>auch die Tatsache, dass es mit "print" nicht funktioniert,
>viel signifikanter als alles andere.
>
Genau. Ich habe mal probiert, von "print" eine Fehlermeldung zu bekommen:

print S $Fjob || die "Fehler beim Schreiben auf Socket: $!";

Es kommt keine entsprechende Fehlermeldung, aber es wird nur der Anfang des
Jobs ausgefuehrt. Gibt's da vielleicht ein Problem innerhalb von Perl
(print tut, als koenne der Socket beliebig viel auf einmal schlucken, was
er faktisch nicht kann, weil print zwischen Sockets, Dateien auf
Datentraegern und der Standardausgabe keine Unterschiede macht)?

Das Ganze ist voll reproduzierbar. Insgesamt sollen 308 Saetze eingespielt
werden, die in der Datenbank nicht vorhanden sind, Update-Modus ist u21.
Die Saetze werden in 50-er-Paketen direkt in den Update-Job geschrieben und
abgeschickt. Speichern der Jobs vor dem Abschicken zeigt, dass sie voellig
korrekt konstruiert sind. 

Die Avanti-Log-Datei zeigt von jedem Job die ersten zwei bis drei Saetze,
eingespielt wird meist vom ersten der Primaerschluessel und die erste
danach belegte Kategorie, in einem Fall kommt mal der erste Satz komplett,
der zweite unvollstaendig. Das war's dann. Mitzaehlen der "M:"-Zeilen im
Ergebnis gibt hierzu konsistente Zahlen (8 Saetze aus 7 Jobs).

Wenn die Saetze statt dessen in Dateien geschrieben und diese Dateien zum
Update benutzt werden, klappt das einwandfrei, aber ich sehe nicht ein,
warum ich sinnlose Zwischendateien erzeugen soll (jetzt mache ich
natuerlich genau das, weil die ganze Geschichte wirklich gebraucht wird und
ich die Konstruktionen in avstress.pl erst mal studieren muss).

Ich werde aber auf jeden Fall mit scheibchenweisem Abschicken weiter
experimentieren.
>
>> Den Beweis, dass etwas schiefging, glaube ich zu haben: im Avanti-Fenster,
>> ebenso in der Avanti-Log-Datei erscheint nur der Anfang des Jobs.
>
>... was ja auch andere Ursachen haben koennte.
>
Welche? 

Nur zur Klarstellung uebrigens: NT 4.0 Workstation, SP5, alles auf dem
lokalen Rechner oder im NT-Netz, gleiche Ergebnisse. Also keine Experimente
mit Windows 2000.

Danke fuer die Unterstuetzung und schoene Gruesse,

Koczian

----
Dr. Sibylle Koczian
Universitaetsbibliothek , Abt. Naturwiss.
D-86135 Augsburg

Tel.: (0821) 598-2400, Fax : (0821) 598-2410
e-mail : Sibylle.Koczian at Bibliothek.Uni-Augsburg.DE