4 releases

0.2.2 Nov 19, 2020
0.2.1 Sep 25, 2020
0.2.0 Sep 25, 2020
0.1.0 Sep 25, 2020

#15 in #lapin

41 downloads per month

MIT license

7KB

docs crates.io-version tests audit crates.io-license

NOTE: This project has been archived. Consider using the bb8 or mobc connection managers.

Lapin support for the r2d2 connection pool.

Usage

See the documentation of r2d2 for the details on how to use the connection pool.

use lapin::ConnectionProperties;
use r2d2_lapin::LapinConnectionManager;
use std::thread;

fn main() {
    let manager = LapinConnectionManager::new("amqp://guest:guest@127.0.0.1:5672//", &ConnectionProperties::default());
    let pool = r2d2::Pool::builder()
         .max_size(15)
         .build(manager)
         .unwrap();
    
    for _ in 0..20 {
        let pool = pool.clone();
        thread::spawn(move || {
            let conn = pool.get().unwrap();
            // use the connection
            // it will be returned to the pool when it falls out of scope.
        });
    }
}

Build-time Requirements

The crate is tested on ubuntu-latest against the following rust versions: nightly, beta, stable and 1.45.0. It is possible that it works with older versions as well but this is not tested. Please see the details of the r2d2 and lapin crates about their requirements.

Dependencies

~5–12MB
~167K SLoC