queuerious 0.1.0

Rust SDK for Queuerious job queue observability platform
Documentation
# queuerious

Rust SDK for the [Queuerious](https://queuerious.dev) job queue observability platform.

Report job lifecycle events (started, completed, failed, retrying, dead-lettered) from your Rust applications to Queuerious for real-time monitoring, alerting, and debugging.

## Installation

```toml
[dependencies]
queuerious = "0.1"
```

### Optional features

| Feature | Description |
|---------|-------------|
| `tower` | Tower middleware for automatic job tracking |
| `metrics` | Queue metrics collection |
| `commands` | Remote command execution support |
| `agent` | Full agent mode (enables `metrics` + `commands`) |

```toml
# Example: enable Tower middleware
queuerious = { version = "0.1", features = ["tower"] }
```

## Quick start

```rust
use queuerious::{QueuriousClient, JobEvent, Backend};

#[tokio::main]
async fn main() -> Result<(), queuerious::QueuriousError> {
    let client = QueuriousClient::builder()
        .api_key("qk_your_api_key")
        .endpoint("https://api.queuerious.dev")
        .build()?;

    // Report a job started event (non-blocking, batched)
    client.report(
        JobEvent::started("email-queue", Backend::RabbitMQ, "job-123", "SendEmail")
            .payload(serde_json::json!({"to": "user@example.com"}))
            .build()
    )?;

    // Gracefully shut down (flushes pending events)
    client.shutdown().await?;
    Ok(())
}
```

## Queue backend adapters

For automatic lifecycle tracking with specific queue backends, use one of the adapter crates:

- [`queuerious-lapin`]https://crates.io/crates/queuerious-lapin — RabbitMQ via lapin

## License

Licensed under either of

- Apache License, Version 2.0 ([LICENSE-APACHE]LICENSE-APACHE or <http://www.apache.org/licenses/LICENSE-2.0>)
- MIT license ([LICENSE-MIT]LICENSE-MIT or <http://opensource.org/licenses/MIT>)

at your option.