Blazen Persistence
Provides checkpoint storage for workflow state, enabling pause/resume and
crash recovery.
Backends
Two storage backends are available behind feature flags:
| Feature |
Backend |
Description |
redb (default) |
[RedbCheckpointStore] |
Embedded, pure-Rust ACID key-value store |
valkey |
[valkey::ValkeyCheckpointStore] |
Redis/ValKey server-backed store |
Quick start (redb)
use blazen_persist::{CheckpointStore, RedbCheckpointStore, WorkflowCheckpoint};
# async fn example() -> Result<(), blazen_persist::PersistError> {
let store = RedbCheckpointStore::new("workflow.db")?;
# let checkpoint = WorkflowCheckpoint {
# workflow_name: "demo".into(),
# run_id: uuid::Uuid::new_v4(),
# timestamp: chrono::Utc::now(),
# state: Default::default(),
# pending_events: vec![],
# metadata: Default::default(),
# };
store.save(&checkpoint).await?;
let loaded = store.load(&checkpoint.run_id).await?;
# Ok(())
# }