| Crates.io | apalis-file-storage |
| lib.rs | apalis-file-storage |
| version | 0.1.0-rc.2 |
| created_at | 2025-12-24 11:45:15.269306+00 |
| updated_at | 2026-01-07 05:47:19.944805+00 |
| description | A test-friendly single process file-based storage backend for apalis |
| homepage | https://github.com/apalis-dev/apalis |
| repository | https://github.com/apalis-dev/apalis |
| max_upload_size | |
| id | 2003012 |
| size | 52,556 |
File-based backend for persisting tasks and results. Currently only supports JSON.
use apalis_file_storage::JsonStorage;
use apalis_core::worker::builder::WorkerBuilder;
use std::time::Duration;
use apalis_core::worker::context::WorkerContext;
use apalis_core::backend::TaskSink;
use apalis_core::error::BoxDynError;
use apalis_core::worker::ext::event_listener::EventListenerExt;
#[tokio::main]
async fn main() {
let mut json_store = JsonStorage::new_temp().unwrap();
json_store.push(42).await.unwrap();
async fn task(task: u32, ctx: WorkerContext) -> Result<(), BoxDynError> {
tokio::time::sleep(Duration::from_secs(1)).await;
ctx.stop().unwrap();
Ok(())
}
let worker = WorkerBuilder::new("rango-tango")
.backend(json_store)
.on_event(|ctx, ev| {
println!("On Event = {:?}", ev);
})
.build(task);
worker.run().await.unwrap();
}
RwLock.