OxL Reference

method Kv.watch

The changes to keys with this prefix from now on, in commit order per shard. The stream fails with Lagged when it falls too far behind.

Example:

oxl✓ checked in CI
use std.kv { Kv, KvError }

fn change(kv: Kv) -> () | KvError  io, db, time {
  sleep(150ms)
  kv.put("job/1", b"queued")?
  kv.delete("job/1")?
}

fn main() -> () | KvError | Panicked  io, db, time {
  let kv = Kv.open("docs-kvwatch")?
  scope {
    spawn change(kv)
    var seen = 0
    for await e in kv.watch("job/") {
      print("{e.key} deleted={e.deleted}")
      seen += 1
      if seen == 2 { break }
    }
  }?
  kv.close()
}
Output
job/1 deleted=false
job/1 deleted=true
pub(api) fn watch(prefix: str) -> stream<KvEvent, KvError>  db

Since. 1.0.0-beta

Parameters

NameType
prefixstr

Returns

stream<KvEvent, KvError>

Effects

db

Defined in: std/kv/kv.oxl:639

See also