qabase

Dette er dokumentasjon for den nye versjonen av qabase, som ikke er i drift enda.

qbase kan startes for å kontrollere en enkel observasjon, eller kjøres som en demon.

Hvis du ønsker å kjøre qabase for å kontrollere en enkel observasjon, kan du kjøre qabase --help for å finne ut av detaljene. Dette dokumentet handler kun om hvordan qabase oppfører seg når en observasjon skal sjekkes.

Valg av hvilke sjekker som skal kjøres

Når en observasjon kommer inn til kvalobs, begynner qabase å se på denne. Følgende kriterier bestemmer om dataene skal sjekkes, og eventuelt hvilke sjekker som skal kjøres:

Hvis observasjonen er del av en aggegert verdi (med typeid<0) gjøres ingenting.

Hvis noe av dataen i observasjonen er HQC-korrigert, gjøres ingenting.

I utgangspunktet kjøres alle sjekker som er definert i checks-tabellen med stasjonsid=observasjonens stasjon, eller stasjonsid=0. Det er imidlertid visse sjekker som lukes ut:

checks-tabellen i kvalobs har en active-kolonne, formattert som en cron-string. Kun sjekker med active-string som passer til den gitte observasjonstiden vil bli kjørt.

Det vil ikke bli forsøkt å kjøre sjekker som krever parametre som observasjonen, i følge obs_pgm-tabellen, ikke skal rapportere. Et unntak fra denne reglen er stasjoner med stationid>10000000 (som er skip). For disse vil man forsøke å kjøre alle sjekker.

I tillegg til dette fins en spesialregel, som jeg ønsker å fjerne etter at sjekkskriptene har blitt oppdatert:

Sjekker som krever modelldata vil ikke kjøres dersom modelldata mangler i databasen.

Returverdier fra skriptene

Det fins tre typer returverdier fra skriptene:

corrected

flag

missing

Hvis missing settes til 2 eller 3, gir dette en implisitt endring av corrected til -32766 eller -32767.

Den gamle returverdien subcheck er fjernet, siden det ikke er noen sjekker som bruker den.

Skriving av resultater til databasen

Når en sjekk gjør endringer i data (flagg eller verdi), skrives ikke dette umidelbart til databasen. Endringene vil først bli synlige for omverdenen etter at alle sjekker for en observasjon har kjørt.

Logging

Det fins to typer logger fra qabase. En fra selve programmet, for bruk av utviklere, samt en type logger for hver observasjon.

Hver observasjon som sjekkes får en egen loggfil, i tekst-format (ikke html). Disse blir lagt i en katalogstruktur som følger: LOGDIR/STASJON/DATO/log-TID.log

Innholdet i disse loggene er som data for hver sjekk som har kjørt, listet fortløpende. Formatet er som følger:

Sjekknavn
Abstrakt signatur fra algorithm-tabellen i kvalobs-databasen
Konkret signatur fra checks-tabellen i kvalobs-databasen
Hele sjekkskriptet
Resultatet av sjekken - først returverdiene som sjekken spesifiserte dem, så en oppsummering av kvalobs-dataen.

Til slutt kommer en oppsummering av hvilken data som blir lagt tilbake til kvalobs.

Her er et eksempel på en slik logg.