[Allegro] Frage zu acon und "put"

Thomas Berger ThB at Gymel.com
Mo Jan 9 11:54:42 CET 2012


Lieber Herr Eversberg, liebe Liste,

tja, wenn man seinen eigenen Code lesen koennte...

"500" ist die Wartezeit bis zum naechsten Versuch (also 1/2
Sekunden), tendenziell kann die Schleife allerdings ewig
durchlaufen werden, wenn der Satz gesperrt bleibt (update.job
gibt allerdings die Warnungen nach STDERR aus, und ich halte
diesen Ansatz fuer fast zwingend: Das festverdrahtete Kommando hat
recht kurze Timeouts (derzeit m.W. 15 Sekunden, also deutlich
weniger als eine interaktive Bearbeitung dauern wuerde) und
proklamiert beim Misserfolg nicht unbedingt den absoluten
Ausnahmezustand (kein Abbruch, nicht unbedingt Ausgabe eines
"Fehlers" nach STDERR), die umgebende Job-Logik interpretiert
das Ergebnis (Statuscode, if ok bzw. das avanti-spezifische
if errorcode=xy) und entscheidet, ob einer oder viele Neuversuche
(update-Kontext) erstrebenswert sind oder z.B. eine sofortige
Rueckmeldung an den Anwender (interaktiver a30-Kontext etwa)
gegeben werden soll.

viele Gruesse
Thomas Berger



> if $DONT_WRITE jump assumereclocked
> set lock
> if ok jump reclockok
> Write "[WARN] Satz " $rec.nr "/" i " gesperrt: " Err
> var $sleep_did
> z=
> if z<500 var 500
> ins $pause
> :tryreclock
> sleep $pause
> set lock
> if ok Write n;jump reclockok
> Write "."
> jump tryreclock
> 
> :reclockok



Mehr Informationen über die Mailingliste Allegro