BusDK Update

Bus Events osaa lukea historian replayna

bus events listen saa selkeät replay/follow-ohjaimet. --replay --no-follow lukee olemassa olevat osuvat eventit ja poistuu, kun taas oletuskuuntelu seuraa uusia tapahtumia.

Sama muutos tekee unicast-deliverysta käytännöllisemmän: consumer group voi poimia aiemmin julkaistun työn, vaikka worker ei ollut paikalla julkaisuhetkellä.

27.4.2026bus-eventsreplayunicast delivery

Tiiviisti

TL;DR

  • bus events listen --replay --no-follow tekee event-historiasta komentorivillä luettavan snapshotin.
  • --replay ja --no-follow toimivat sekä broadcast- että unicast-deliveryssa.
  • Providerin stream-endpoint saa vastaavat kyselyparametrit: replay=true ja follow=false.

Ensin tapahtuma julkaistaan tavalliseen Events API -pintaan. Julkaisuvastauksen id vaihtelee, mutta komennon onnistuminen näkyy accepted- ja name-kentistä:

$ bus events --api-url "$BUS_EVENTS_API_URL" \
  --token "$BUS_API_TOKEN" \
  send --name example.history --payload '{"before":true}'
{
  "accepted": true,
  "name": "example.history"
}

Snapshot-kuuntelu lukee saman historian ja poistuu. Tuloste on newline-delimited JSON, joten se sopii suoraan skripteille ja putkille:

$ bus events --api-url "$BUS_EVENTS_API_URL" \
  --token "$BUS_API_TOKEN" \
  listen --name example.history --replay --no-follow
{"name":"example.history","payload":{"before":true}}

Work-deliveryssa sama ominaisuus tarkoittaa, että työ voi olla jonossa ennen workerin käynnistymistä. Consumer group saa yhden claimattavan tapahtuman replayna:

$ bus events --api-url "$BUS_EVENTS_API_URL" \
  --token "$BUS_API_TOKEN" \
  listen --name example.queued \
  --delivery unicast \
  --group queued-workers \
  --consumer queued-a \
  --replay --no-follow
{"name":"example.queued","payload":{"queued":true}}

HTTP-pinnassa sama vastaa stream-kyselyä GET /api/v1/events/stream?name=example.queued&delivery=unicast&group=queued-workers&consumer=queued-a&replay=true&follow=false. Broadcast-kuuntelijat saavat kukin oman kopionsa; unicast-ryhmässä vain yksi saman ryhmän consumer saa yksittäisen eventin.

Replay-ohjaimet on kuvattu bus-eventsin komentodokumentaatiossa. Providerin stream-parametrit ja taustat löytyvät bus-api-provider-eventsin dokumentaatiosta.