Fördröjning i stream-api:et?

Hej,

det tycks som det är en fördröjning i stream-api:et (https://jobstream.api.jobtechdev.se/stream). T.ex om vi tar följande annons på Platsbanken:

(id = 25785529) som publicerades 15/3 så dyker den inte upp i strömmingsapi:et förrän 1/4 vilket kan testas med:

$ curl https://jobstream.api.jobtechdev.se/stream\?date\=2022-04-01T00:00:00\&updated-before-date\=2022-04-02T00:00:00 | jq -C -c '.[] | select (.id == "25785529")'

d.v.s. en fördröjning från publicering på omkring två veckor. Är det en feature eller bug :slight_smile: ?

mvh Ola

Så skall det inte vara, vi tar en titt på det.

Tackar, det kan ju vara en PEBCAC från min sida med jag har dubbelkollat :slight_smile:

Det är faktiskt en feature. :slight_smile:

Stream kollar när annonsen senast uppdaterades, det är fältet “timestamp” i annonsen som avgör.

exempel för annons 25785529:

"timestamp": 1648816226154 == 2022-04-01 12:30:26.154

Tanken med stream är att hämta alla annonser med /snapshot och sen hålla sin lokala databas uppdaterad från /stream, då blir uppdateringstidpunkten viktig.

Och ja, det är ett annat beteende vad gäller datum än för JobSearch och det hade varit bra om datumparametrarna hade döpts till nåt mer beskrivande… :slight_smile:

länk till dokumentation för stream

Hej Oskar,

Tack för ditt svar; jag har tolkat /stream som att det är en logg d.v.s. att om jag läser från långt tillbaka i tiden så kommer jag får alla ändringar som skett för en viss annons men jag förstår nu att det inte är så det fungerar utan det är bara “senaste” ändringen som finns i /stream.

Men det borde iofs betyda att om man läser /stream från “tidernas begynnelse” fram till nu så bör man få samma innehåll som man får från /snapshot, eller?

mvh Ola

ja, då kommer “timestamp” att vara efter det datum du frågar.
Men det är en annan skillnad:
Snapshot kommer inte att ta med borttagna annonser. Men när du hämtar med stream kommer du att få “tombstones” (“removal object” i dokumentationen) som representerar borttagna annonser så att du kan behandla dem i din lokala annonsdatabas.

Tack för svar. Då är bilden klar.

Något som skulle vara trevligt är att lägga till en möjlighet att “paginera” svaret från /snapshot. Eftersom svaret är så stort så bombar det iaf om man anropar det från en NodeJS-app (fungerar säkert i andra miljöer) så en trevlig funktion skulle kunna vara att möjliggöra så at man bara hämtar t.ex. 1000 poster i taget.

Jag förstår problemet, det är en “tung” request. Vi tar en funderare på det.

1 gillning