Skip to content

cronjob for å samle oversikt over innhold på nav.no

License

Notifications You must be signed in to change notification settings

navikt/innholdsoversikt

Repository files navigation

Innholdsoversikt

Code style: black

Dette er vår cronjob-app på NAIS for å skaffe oversikt over innholdet vårt på nav.no og oppdatere vårt dashboard der vi følger med på innholdsmengde over tid.

main trekker ut innholdet vårt fra CMSet Enonic XP og lager aggregert statistikk på metadata som mengden publisert og avpublisert innhold, innholdsmengde, alder og fordeling på områdene på nav.no.

Dashboardet oppdateres en gang i måneden via en cronjob i kubernetes. Logger i Kibana.

Jobb lokalt

Bruk venv for å lage og starte det virtuelle miljøet, og pip for avhengigheter. Installér avhengigheter med make install.

cd innholdsoversikt
source venv/bin/activate # starter virtuelt  miljø
make install # installerer avhengigheter
make update-deps # oppdater avhengigheter
make format # formaterer python-kode med black

Enonic data api eksporterer innhold fra Enonic XP via dataquery APIet.

Se pods i kubernetes

kubectl config use-context dev-gcp
kubectl config use-context prod-gcp
kubectl -npersonbruker get pods

Se naisjobs i kubernetes

kubectl get naisjob -npersonbruker # viser naisjob i namespace
kubectl describe naisjob innholdsoversikt-dashboard -npersonbruker # beskriver naisjob metadata

Start og slutt naisjob manuelt

kubectl create job innholdsdashboard 
--from=cronjob/innholdsoversikt-dashboard -npersonbruker
kubectl delete naisjob innholdsoversikt-dashboard -npersonbruker

Secrets

kubectl config use-context dev-gcp
kubectl config use-context prod-gcp
kubectl -npersonbruker create secret generic innholdsmengde-dashboard-secrets --from-file=secrets.json
kubectl -npersonbruker get secret 
kubectl -npersonbruker describe secrets/innholdsmengde-dashboard-secrets
kubectl -npersonbruker delete secret innholdsmengde-dashboard-secrets

Bygg og Inspiser app lokalt

colima start

docker build -f Dockerfile.local -t innholdsmengde_local .

docker run --rm -it innholdsmengde_local /bin/bash

Spørringer i databasen

Bigquery har sin egen syntaks for SQL spørringer. Bruk kopitabellen for å teste spørringer.

Det går an å kjøre spørringer regelmessig, f.eks ukentlig.

Velg rader for en gitt dato, med et utvalg på 1000

SELECT * FROM `project-id.dataset.table` WHERE dato = '2024-07-05' LIMIT 1000

Velg samme data uten begrenset utvalg

SELECT * FROM `project-id.dataset.table` WHERE dato = '2023-08-21'

Slett rader for en gitt dato

DELETE FROM `project-id.dataset.table` WHERE dato = '2023-08-21'

About

cronjob for å samle oversikt over innhold på nav.no

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages