queuerious-lapin 0.1.0

Queuerious SDK adapter for lapin (RabbitMQ)
Documentation

queuerious-lapin

Queuerious SDK adapter for lapin (RabbitMQ).

Wraps lapin::Consumer to automatically report job lifecycle events (started, completed, failed, retrying) to the Queuerious platform — no manual instrumentation required.

Installation

[dependencies]
queuerious = "0.1"
queuerious-lapin = "0.1"

Optional features

Feature Description
metrics Queue metrics collection (depth, throughput, latency)
commands Remote command execution (pause, resume, purge)
agent Full agent mode (enables metrics + commands)
management RabbitMQ Management HTTP API integration for tier-2 metrics

Quick start

use queuerious::QueuriousClient;
use queuerious_lapin::TrackedConsumer;
use std::sync::Arc;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Arc::new(
        QueuriousClient::builder()
            .api_key("qk_your_key")
            .endpoint("https://api.queuerious.dev")
            .build()?
    );

    let conn = lapin::Connection::connect("amqp://localhost:5672", Default::default()).await?;
    let channel = conn.create_channel().await?;

    let consumer = channel.basic_consume(
        "my-queue", "my-consumer",
        lapin::options::BasicConsumeOptions::default(),
        lapin::types::FieldTable::default(),
    ).await?;

    let mut tracked = TrackedConsumer::new(consumer, "my-queue", client);

    while let Some(delivery) = tracked.next_tracked().await {
        let delivery = delivery?;
        // Process message...
        delivery.ack(lapin::options::BasicAckOptions::default()).await?;
    }

    Ok(())
}

License

Licensed under either of

at your option.