18 releases
0.1.17 | Nov 15, 2024 |
---|---|
0.1.14 | Aug 1, 2024 |
0.1.13 | Jul 8, 2024 |
0.1.9 | Mar 25, 2024 |
0.1.1 | May 23, 2022 |
#1272 in Database interfaces
210 downloads per month
7KB
114 lines
bb8-failsafe
thin wapper of failsafe-rs to provide circuit breaker captilites to bb8
lib.rs
:
thin wapper of failsafe-rs to provide circuit breaker captilites to bb8.
Example
Using an imaginary "foodb" database.
#[tokio::main]
async fn main() {
let manager = bb8_foodb::FooConnectionManager::new("localhost:1234");
let circuitbreaker = bb8_failsafe::failsafe::Config::new().build();
let safemanager = bb8_failsafe::FailsafeConnectionManager::new(manager, circuitbreaker);
let pool = bb8::Pool::builder().build(safemanager).await.unwrap();
for _ in 0..20 {
let pool = pool.clone();
tokio::spawn(async move {
let conn = pool.get().await.unwrap();
// use the connection
// it will be returned to the pool when it falls out of scope.
});
}
}
Dependencies
~3.5–9.5MB
~94K SLoC