| Crates.io | simple_jobs |
| lib.rs | simple_jobs |
| version | 0.2.2 |
| created_at | 2022-04-25 03:43:02.441573+00 |
| updated_at | 2022-06-11 15:08:56.83182+00 |
| description | Very simple persistence layer on top of Tokio tasks. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 573419 |
| size | 23,187 |
A simple wrapper for
Tokio tasks, where the tasks are saved to a backend of choice,
and they can be queried for their status.
As an example, the crate provides the implementation for saving tasks to the filesystem.
The trait [Job] requires the functions [Job::save] and [Job::load] that
save and restore the struct [JobInfo].
FSJob] implementationThe struct [FSJob] implements the trait [Job] by saving and restoring the
job information from the filesystem. Each job gets a unique file, constructed
from the unique job id.
async fn example() -> std::io::Result<()> {
let job: FSJob<u16, MyError> = FSJob::new("/tmp".into());
let id = job.submit(|id, job| async move {
Ok(0u16)
})?;
let info = job.load(id)?;
println!("Job status: {:?}", info.status);
Ok(())
}
License: MIT