OxL Справочник OxL
РусскийEnglish

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✓ проверяется в 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()
}
Вывод
job/1 deleted=false
job/1 deleted=true
pub(api) fn watch(prefix: str) -> stream<KvEvent, KvError>  db

С версии. 1.0.0-beta

Параметры

ИмяТип
prefixstr

Возвращает

stream<KvEvent, KvError>

Эффекты

db

Определено в: std/kv/kv.oxl:639

См. также