[Allegro] timeout avanti / acon

Christoph Krempe krempe at ub.fu-berlin.de
Fr Jul 4 16:33:49 CEST 2014


Lieber Herr Berger,

ich habe den Fehler jetzt (hoffentlich) identifiziert:

Wenn ich das Schreiben des sets in die Datei für den resumtion token in
"oai_lr.job" auskommentiere, wird das Ergebnis vollständig übertragen,
acon kommt in der erwarteten Zeit zurück, die Token-Datei bleibt leer
bis auf die Überschrift.

Ohne Auskommentierung warten acon offenbar bis zum timeout auf das
Wegschschreiben der internen Variable durch das "wri", der Rest wird
ignoriert. Nur wenn in der vorherigen Zeile das "l" hinter "var "in101-"
weggelassen wird funktioniert der Export wieder, dann steht in der
token-Datei allerdings "101":

// RT-Dateiname
var D "rt/" #uip "-" #udt
ins #urt
// oeffnen
exp f
if no jump rterr
// Ueberschrift rein
wri #dts n
// Liste der Dateinummern ab 50
var "in101-" l
<---------------------------------!!!!
wri
swi dow 1

// Name der Datei als RT mitliefern
wri n '<resumptionToken completeListSize="' l '">' #uip '-' #udt
"</resumptionToken>" n
end


Wenn ich das Schreiben des Token umformuliere:

// var "in101-" l
wri "in101-" l

steht in der Token-Datei:
20140704/16:30:07
in101-252197

Ich hoffe, daß ist so korrekt.


Am 03.07.2014 16:50, schrieb Thomas Berger:
> Lieber Herr Krempe,
> 
>> 1.
>> acron läuft 120 Sekunden, egal, die lange die Abfrage der DB tatsächlich
>> dauert. Das statisch und das dynamisch gelinkte Programm verhält sich
>> hier gleich:
> 
> hat evtl. mit 2. zu tun...
> 
> 
>> 2.
>>
>> Die letzte in der Exportparameterdatei oaidc.dpr aufgeführte  Kategorie
>> wird im _letzten_ Datensatz nicht vollständig ausgegeben:
>>
>> Beispiel:
>>
>> ok:
>> <datafield tag="658" ind1="i" ind2="1"><subfield
>> code="u">http://amun.ub.fu-berlin.de/ipac-p/getimg.php?img=a0010175.gif</subfield></datafield>
>>
>> nicht ok:
>>  <datafield tag="658" ind1="i" ind2="1"><subfield
>> code="u">http://amun.ub.fu-berlin.de/ip
>> --- end ---<at avanti.c, line 417>
>>
>> Der Code in der Parameterdatei:
>> !001x p{ '<datafield tag="658" ind1="i" ind2="1">' C '  <subfield
>> code="d">http://amun.ub.fu-berlin.de/ipac-p/sto_info.php?urN=' } P{
>> '</subfield>' C '</datafield>' C }
> 
> offensichtlich ist ueber ze="" das C effektiv ausser Kraft gesetzt.
> Irgendwann vor einigen Jahren kam eine Aenderung, dass avanti(?)
> nicht von sich aus ein zusaetzliches LF spendiert, um das AVANTI:EOR
> vom Job abzutrennen. Insofern laeuft das ggfls. ineinander und
> Ihr Client ignoriert die entsprechende Zeile, obwohl sie teilweise
> noch Daten enthaelt.
> 
> Versuchen Sie also einmal sicherzustellen (etwa ueber ein
> write newline
> im Job), dass die letzte Ausgabezeile auch wirklich mit LF
> abgeschlossen wird.
> 
> viele Gruesse
> Thomas Berger
> 
> 
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sunny5.biblio.etc.tu-bs.de/mailman/listinfo/allegro
> 


-- 

Mit freundlichen Grüßen

Ch. Krempe

__________________________________________________

Christoph Krempe
Abt. Datenverarbeitung / Fachreferat Philosophie
Universitätsbibliothek der FU Berlin
Garystraße 39
D-14195 Berlin

Tel.: 030 83854583
Fax: 030 83854582



Mehr Informationen über die Mailingliste Allegro