Skip to content

Commit 1ee4eb5

Browse files
authored
Move to deadpool-redis for managing redis connections (#77)
* Move to deadpool-redis for managing redis connections * Update versions
1 parent 3cdf883 commit 1ee4eb5

8 files changed

Lines changed: 141 additions & 148 deletions

File tree

Cargo.lock

Lines changed: 55 additions & 48 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ members = ["crates/fluxqueue-common", "crates/fluxqueue-worker"]
33

44
[package]
55
name = "fluxqueue_core"
6-
version = "0.1.0-beta.4"
6+
version = "0.2.0-beta.1"
77
edition = "2024"
88

99
[lib]
@@ -14,7 +14,7 @@ crate-type = ["cdylib"]
1414
pyo3 = { version = "0.27.2", features = ["experimental-async"] }
1515
pyo3-async-runtimes = { version = "0.27.0", features = ["tokio-runtime"] }
1616
tokio = { version = "1.49.0", features = ["rt-multi-thread", "sync"] }
17-
redis = "1.0.3"
17+
deadpool-redis = { version = "0.22.1", features = ["rt_tokio_1"] }
1818
fluxqueue-common = { path = "./crates/fluxqueue-common" }
1919

2020
[workspace.dependencies]

crates/fluxqueue-common/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fluxqueue-common"
3-
version = "0.1.0"
3+
version = "0.2.0-beta.1"
44
edition = "2024"
55

66
[lib]
@@ -10,7 +10,7 @@ path = "src/lib.rs"
1010
[dependencies]
1111
anyhow = "1.0.100"
1212
pyo3 = "0.27.2"
13-
redis = { version = "1.0.3", features = ["connection-manager", "tokio-comp"] }
13+
deadpool-redis = { version = "0.22.1", features = ["rt_tokio_1"] }
1414
rmp-serde = "1.3.1"
1515
rmpv = { version = "1.3.1", features = ["with-serde"] }
1616
serde = { version = "1.0.228", features = ["derive"] }

crates/fluxqueue-common/src/redis/client.rs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
use anyhow::{Context, Result};
2-
use redis::Client;
3-
use redis::aio::ConnectionManager;
2+
use deadpool_redis::{Connection, redis};
43

54
use crate::get_queue_key;
65

7-
pub fn get_redis_client(redis_url: &str) -> Result<Client> {
8-
let client = redis::Client::open(redis_url).context("Failed to connect to Redis")?;
9-
Ok(client)
6+
pub fn get_redis_connection(redis_url: &str) -> Result<redis::Connection> {
7+
let client = redis::Client::open(redis_url).context("Failed to create Redis client")?;
8+
let conn = client
9+
.get_connection()
10+
.context("Failed to connect to Redis")?;
11+
Ok(conn)
1012
}
1113

12-
pub fn push_task(conn: &mut Client, queue_name: String, task_blob: Vec<u8>) -> Result<()> {
14+
pub fn push_task(
15+
conn: &mut redis::Connection,
16+
queue_name: String,
17+
task_blob: Vec<u8>,
18+
) -> Result<()> {
1319
let queue_key = get_queue_key(&queue_name);
1420

1521
let _: () = redis::cmd("LPUSH")
@@ -22,7 +28,7 @@ pub fn push_task(conn: &mut Client, queue_name: String, task_blob: Vec<u8>) -> R
2228
}
2329

2430
pub async fn push_task_async(
25-
conn: &mut ConnectionManager,
31+
conn: &mut Connection,
2632
queue_name: String,
2733
task_blob: Vec<u8>,
2834
) -> Result<()> {

crates/fluxqueue-worker/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fluxqueue-worker"
3-
version = "0.1.0-beta.2"
3+
version = "0.2.0-beta.1"
44
edition = "2024"
55

66
[lib]
@@ -14,7 +14,7 @@ path = "src/main.rs"
1414
[dependencies]
1515
pyo3-async-runtimes = { version = "0.27.0", features = ["tokio-runtime"] }
1616
uuid = { version = "1.20.0", features = ["v4"] }
17-
redis = { version = "1.0.3", features = ["connection-manager", "tokio-comp"] }
17+
redis = "0.32.7"
1818
tokio = { version = "1.49.0", features = [
1919
"macros",
2020
"rt-multi-thread",
@@ -33,3 +33,4 @@ pythonize = "0.27.0"
3333
chrono = "0.4.43"
3434

3535
fluxqueue-common.workspace = true
36+
deadpool-redis = { version = "0.22.1", features = ["rt_tokio_1"] }

0 commit comments

Comments
 (0)