later 0.0.49

Distributed Background jobs manager and runner for Rust
mod support;

use later::{backend::SqliteBackend, storage::Sqlite};
use support::{start_server, PrintJob};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let storage = Sqlite::new("sqlite://later-example.db").await?;
    let backend = SqliteBackend::new("sqlite-example", storage)?;
    let server = start_server("sqlite-server", Box::new(backend)).await?;

    for number in 1..=3 {
        server
            .enqueue(PrintJob {
                message: format!("job {number}"),
                failures_before_success: 0,
            })
            .await?;
    }
    println!("Jobs enqueued. Press Ctrl-C to stop the server.");
    tokio::signal::ctrl_c().await?;
    Ok(())
}