Deadpool is a dead simple async pool for connections and objects of any type.
This crate implements a deadpool
manager for lapin
.
| Feature | Description | Extra dependencies | Default |
| ------- | ----------- | ------------------ | ------- |
| config
| Enable support for config crate | config
, serde/derive
| yes |
```rust,ignore use deadpoollapin::{Config, Manager, Pool }; use deadpoollapin::lapin::{ options::BasicPublishOptions, BasicProperties };
async fn main() { let mut cfg = Config::default(); cfg.url = Some("amqp://localhost/%2f".tostring()); let pool = cfg.createpool(); for i in 1..10usize { let mut connection = pool.get().await.unwrap(); let channel = connection.createchannel().await.unwrap(); channel.basicpublish( "", "hello", BasicPublishOptions::default(), b"hello from deadpool".to_vec(), BasicProperties::default() ).await.unwrap(); } } ```
config
and dotenv
crate```rust use deadpool_lapin::lapin::{ options::BasicPublishOptions, BasicProperties }; use dotenv::dotenv; use serde::Deserialize;
struct Config { #[serde(default)] amqp: deadpool_lapin::Config }
impl Config {
pub fn fromenv() -> Result
async fn main() { dotenv().ok(); let cfg = Config::fromenv().unwrap(); let pool = cfg.amqp.createpool(); for i in 1..10usize { let mut connection = pool.get().await.unwrap(); let channel = connection.createchannel().await.unwrap(); channel.basicpublish( "", "hello", BasicPublishOptions::default(), b"hello from deadpool".to_vec(), BasicProperties::default() ).await.unwrap(); } } ```
Licensed under either of
at your option.