pgmq 0.0.1-alpha

A Rust client for Postgres Message Queues
Documentation
use pgmq::{Message, PGMQueue, PGMQueueConfig};

#[tokio::main]
async fn main() -> Result<(), sqlx::Error> {
    let qconfig = PGMQueueConfig {
        queue_name: "myqueue".to_owned(),
        url: "postgres://postgres:postgres@0.0.0.0:5432".to_owned(),
        vt: 30,
        delay: 0,
    };

    let queue: PGMQueue = qconfig.init().await;

    queue.create().await?;

    let msg = serde_json::json!({
        "foo": "bar"
    });
    let msg_id = queue.enqueue(&msg).await;
    println!("msg_id: {:?}", msg_id);

    let read_msg: Message = queue.read().await.unwrap();
    print!("read_msg: {:?}", read_msg);

    let deleted = queue.delete(&read_msg.msg_id).await;
    println!("deleted: {:?}", deleted);

    Ok(())
}