simple_jobs 0.2.2

Very simple persistence layer on top of Tokio tasks.
Documentation
# simple_jobs

## Very simple persistent jobs

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.

### Defining the backend

The trait [`Job`] requires the functions [`Job::save`] and [`Job::load`] that
save and restore the struct [`JobInfo`].

### Using the [`FSJob`] implementation

The 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.

#### Example:

```rust
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(())
}
```

[`Tokio`]: https://tokio.rs/

License: MIT