15 个版本
新 0.1.14 | 2024 年 8 月 1 日 |
---|---|
0.1.13 | 2024 年 7 月 8 日 |
0.1.12 | 2024 年 6 月 15 日 |
0.1.9 | 2024 年 3 月 25 日 |
0.1.1 | 2022 年 5 月 23 日 |
#2 在 #bb8
每月 351 次下载
7KB
114 行
bb8-failsafe
为 bb8 提供电路断路器功能的 failsafe-rs 轻量级包装
lib.rs
:
为 bb8 提供电路断路器功能的 failsafe-rs 轻量级包装。
示例
使用一个虚构的 "foodb" 数据库。
#[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.
});
}
}
依赖项
~4–11MB
~95K SLoC