#queue #disk #unordered #consumed #version #persistent #multiple

diskqueue

无序持久化磁盘队列,可由多个进程消费

1 个不稳定版本

0.1.0 2022年9月5日

#6 in #consumed

MIT/Apache

12KB
191

(无序)给定serde序列化类型的磁盘持久化项目队列。磁盘结构被视为实现细节,而不是公开接口。磁盘上的数据是分版本的,并努力确保不同版本之间不消费不兼容的数据模式。无法消费的项目(例如,由于不兼容的版本)不会从队列中删除,可能会再次冒泡。

示例用法

  # let t = tempfile::tempdir().unwrap();
  # let path = t.path().join("foo").to_path_buf();
  use diskqueue::Queue;
  let q: Queue<i32> = Queue::new(path).unwrap();
  q.enqueue(123).unwrap();
  let v = q.dequeue().unwrap();
  assert_eq!(v, Some(123));

依赖项

~2–14MB
~155K SLoC