Page History
...
Yderindlæseren er designet til at en stamdata fil kan genkøres uden at de register data der vedligeholdes bliver korrupte, så de beskrevne trin går kun ud på at få yderindlæseren til at genbehandle en evt. afbrudt fil indlæsning.
Som beskrevet i <installation> er Yderindlæser - Installationsvejledning er Yderindlæserens docker container startet med hhv. et volume-mount der bibeholder indholdet af den interne input folder /tmp/yder/input og et volume-mount der bibeholder indholdet af den interne backup folder /tmp/yder/input selv når /.done efter docker containeren stoppeser stoppet.
Derfor vil denne folder disse volumemounts indeholde evt. filer der var under behandling da docker containeren stoppede eller som er lagt i backup mens docker containeren kørte.
Yderindlæseren er opdelt i en producerende del, som parser og splitter stamdata filen, og en konsumerende del, som skriver de splittede data til databasen.
Når Yderindlæserens producerende del Mens Yderindlæseren er igang med at behandle en fil, vil /tmp/yder/input folderen indeholde den fil der skal behandleser under behandling, f.eks. A23.D210309.XML samt en låse fil med navnet A23.D210309.XML.camelLock. Filen A23.D210309.XML.camelLock fortæller Yderindlæseren, at filen med navnet uden .camelLock, er under indlæsning og der derfor ikke skal tages fat i denne fil. Når parsning og splitning af filen
Når Yderindlæserens producerende del er færdig, vil datafilen bliver kopieret til en backup lokation og filen med endelsen .camelLock slettes.
Hvis der var en fil under indlæsning behandling af den producerende del, når Yderindlæserens docker container går ned, så vil der i volume-mountet for /tmp/yder/input ligge en fil med endelsen .camelLock.
Når docker containeren med Yderindlæseren er startet igen, kan filen med endelsen .camelLock slettes hvilket vil få Yderindlæseren til at tage fat i stamdata filen og indlæsningen af filen vil gentages.
Hvis Yderindlæserens docker container går ned mens en fil under behandling er kommet igennem den producerende del og der kun udestår den konsumerende dels behandling af de splittede data, så vil filen være flyttet til backup folderen, og den vil derfor ligge i denne folder efter docker containeren er stoppet.
Det er her nødvendigt at kigge i databasen for at afgøre om der var filer i behandling da docker containeren gik ned.
Dette gøres ved at udføre SQL forespørgslen
select * from YDS_dataset where status not like "%Completed%";
mod Yderindlæserens database.
Hvis denne forespørgsel returnerer en eller flere rækker, findes den række hvor DataReceived kolonnen er umiddelbart før tidspunktet hvor Yderindlæserens docker container gik ned, og FileName + UUID kolonnen i samme række vil fortælle hvilken fil i backup folderen der ikke blev afsluttet. Filen fra backupfolderen kan dernæst flyttes til input folderen så indlæsningen kan genoptages.
Beskrivelse af logs
Yderindlæseren skriver til 4 forskellige log filer, der alle er placeret lokalt i Docker containeren i Wildfly standard log folderen: /pack/wildfly8/standalone/log
...