Kom i gang med jobs
Et job behandler en hel fil i baggrunden — fx 50.000 adresser, der skal vaskes, eller 200.000 koordinater, der skal have en adresse. Du uploader filen i dashboardet (eller sender den til POST /v1/jobs), følger fremdriften live og henter resultatet som CSV eller NDJSON, når jobbet er færdigt.
Jobs kræver Pro eller Enterprise.
Hvad kan et job?
| Jobtype | Gør | Varianter |
|---|---|---|
reverse | Koordinater → nærmeste adresser | – |
datavask | Retter og validerer adresser (også med stavefejl) | enhedsadresser (adresser) eller adgangsadresser |
bbr | Henter BBR-data ud fra BBR-id'er | bygninger eller enheder |
dagi | Koordinater eller postnumre → kommune, region, sogn, kredse m.m. | – |
eksport | Eksporterer resultatet af en søgning i Find ejendomme som CSV eller JSONL | – |
Hver række giver præcis det samme svar, som hvis du havde sendt den i et synkront batch-kald.
Job eller synkront batch-kald?
- Synkront batch-kald (fx
POST /v1/datavask/adresser/batch): svaret kommer med det samme. Godt til små mængder, fx en formular eller en lille import. Grænsen er pr. kald (se tabellen). - Job: til store filer. Du får et job-id med det samme, og jobbet kører i baggrunden — du behøver ikke holde forbindelsen åben eller dele filen op selv.
Sender du flere elementer i et synkront kald, end din plan tillader, svarer API'et med 400 og fortæller både grænsen og at du kan bruge et job i stedet.
Kvoten tjekkes for hele batchen. Et synkront batch-kald tjekkes mod teamets kvote for hele batchen, før noget behandles. Er der ikke plads til alle elementerne, svarer API'et 429 med type: quota_exceeded — intet er behandlet, og intet er afregnet. Send en mindre batch, opgradér, eller vent til kvoten nulstilles. Et job opfører sig anderledes: det kører, til kvoten er brugt, stopper med status kvote_stop, og de behandlede rækker kan hentes. Derfor er et job ofte det bedste valg til store mængder. Detaljerne står i Jobs via API.
Grænser pr. plan
| Pro | Enterprise | |
|---|---|---|
| Synkront pr. kald — reverse | 100 | 1.000 |
| Synkront pr. kald — datavask | 100 | 500 |
| Synkront pr. kald — BBR | 100 | 1.000 |
| Synkront pr. kald — DAGI | 100 | 500 |
| Rækker pr. job | 10.000 | 1.000.000 |
| Filstørrelse pr. job | 24 MB | 64 MB |
| Rækker pr. eksport fra Find ejendomme | 10.000 | 1.000.000 |
| Job i kø eller i gang på samme tid | 3 | 10 |
| Resultatet kan hentes i | 7 dage | 30 dage |
| Plads i køen | normal | før Pro |
Enterprise gælder også Scale og skræddersyede aftaler. Hobby og Basis har ikke adgang til batch og jobs.
Sådan afregnes et job
- Hver række, der gav et svar, tæller som ét opslag i teamets kvote. Rækker, der fejler, koster ikke noget — ligesom et kald, der fejler. Et job på 12.000 rækker, hvor 150 fejler, koster 11.850 opslag. En række med en advarsel (fx et usikkert match) har fået et svar og tæller med.
- Selve oprettelsen (
POST /v1/jobs) koster ikke noget. Fejler alle rækker, koster jobbet 0 opslag. - Eksport fra Find ejendomme afregnes som søgesider: ét opslag pr. påbegyndte 100 rækker. En eksport på 2.501 rækker koster 26 opslag.
- At hente status, resultatet eller fejlrækkerne — og at annullere — tæller ikke i kvoten. Du kan også hente et delresultat, når kvoten er brugt.
Kvoten tjekkes, før hver del af jobbet behandles. Rækker kvoten ikke til hele filen, får du en advarsel, før jobbet starter (den regner med, at alle rækker giver et svar), og jobbet stopper præcis ved kvoten med status kvote_stop — rækker, der fejler, får aldrig jobbet til at stoppe. De rækker, der nåede at blive behandlet, kan hentes. Er kvoten allerede brugt, når du opretter jobbet, afvises det med 429.
Hvilken nøgle afregnes jobbet på?
Et job tælles altid på en API-nøgle — som et almindeligt kald med nøglen.
- I dashboardet vælger du nøglen under «Afregnes på nøglen». Standard er din egen nyeste aktive nøgle, ellers teamets nyeste. Nøglen skal tilhøre teamet og være aktiv, og en IP-binding kan ikke bruges.
- Via API'et afregnes jobbet på den nøgle, du kalder med. Nøglen skal være en live-nøgle (ikke en
pub-nøgle) med scopebatch.
Har teamet ingen aktiv nøgle, kan du ikke starte et job. Opret en under API-nøgler i dashboardet.
Kø og prioritet
- Et team kører ét job ad gangen. Starter du flere, venter de andre i kø (status
koe) og starter automatisk efter tur. - Enterprise-jobs tages før Pro-jobs, og der er altid kapacitet reserveret til Enterprise.
- Hvor mange job der må være i kø eller i gang på én gang, står i tabellen ovenfor.
- Live-kald går forud. Har API'et travlt, venter et kørende job kort med sin næste del, så dine (og andres) almindelige kald ikke bliver langsommere. Jobs kan derfor tage længere tid på travle tidspunkter. Pro-jobs venter ved «Travlt», Enterprise-jobs først ved «Meget travlt» (samme niveauer som under Forbrug → Travle tidspunkter) — Enterprise mærker det altså senere end Pro.
- Et job venter højst ca. 2 minutter pr. del — derefter kører det næste del alligevel — og intet går tabt: jobbet fortsætter selv, når der er luft. Mens det venter, viser dashboardet Venter på kapacitet, og API'et svarer
venter_paa_kapacitet: true.
Hvor længe gemmes resultatet?
Resultatet og inputtet gemmes i 7 dage (Pro) eller 30 dage (Enterprise), efter at jobbet sluttede — også når det blev annulleret, stoppede ved kvoten eller fejlede. Derefter slettes de, og jobbet får status udloebet. Har ingen hentet resultatet, får du en påmindelse 24 timer før det slettes.
Næste skridt
- Filformat til jobs — præcis hvordan filen skal se ud
- Følg et job og hent resultatet
- Når et job fejler — fejlkoder
- Jobs via API
