Skip to content

Commit ae672c5

Browse files
committed
fixup! Add cluster option to result backend
1 parent e79fa11 commit ae672c5

File tree

4 files changed

+65
-33
lines changed

4 files changed

+65
-33
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -30,42 +30,14 @@ jobs:
3030
- name: Run lint check
3131
run: poetry run pre-commit run -a ${{ matrix.cmd }}
3232
pytest:
33-
services:
34-
redis:
35-
image: bitnami/redis:6.2.5
36-
env:
37-
ALLOW_EMPTY_PASSWORD: "yes"
38-
options: >-
39-
--health-cmd="redis-cli ping"
40-
--health-interval=5s
41-
--health-timeout=5s
42-
--health-retries=30
43-
ports:
44-
- 6379:6379
45-
redis-cluster:
46-
image: bitnami/redis-cluster:6.2.5
47-
env:
48-
ALLOW_EMPTY_PASSWORD: "yes"
49-
REDIS_NODES: "localhost"
50-
options: >-
51-
--health-cmd="redis-cli ping"
52-
--health-interval=5s
53-
--health-timeout=5s
54-
--health-retries=30
55-
ports:
56-
- 7000:6379
5733
strategy:
5834
matrix:
5935
py_version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
6036
runs-on: "ubuntu-latest"
6137
steps:
6238
- uses: actions/checkout@v4
63-
- uses: shogo82148/actions-setup-redis@v1
64-
with:
65-
redis-version: "6.x"
66-
auto-start: false
67-
- name: Set up single-node Redis cluster
68-
run: redis-cli -h localhost -p 7000 --cluster-yes CLUSTER ADDSLOTS {0..16383}
39+
- name: Set up Redis instance and Redis cluster
40+
run: docker-compose up -d
6941
- name: Set up Python
7042
uses: actions/setup-python@v2
7143
with:

docker-compose.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
version: '3.2'
2+
3+
services:
4+
redis:
5+
image: bitnami/redis:6.2.5
6+
environment:
7+
ALLOW_EMPTY_PASSWORD: "yes"
8+
healthcheck:
9+
test: ["CMD", "redis-cli", "ping"]
10+
interval: 5s
11+
timeout: 5s
12+
retries: 3
13+
start_period: 10s
14+
ports:
15+
- 7000:6379
16+
redis-node-0:
17+
image: docker.io/bitnami/redis-cluster:7.2
18+
environment:
19+
ALLOW_EMPTY_PASSWORD: "yes"
20+
REDIS_NODES: "redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5"
21+
22+
redis-node-1:
23+
image: docker.io/bitnami/redis-cluster:7.2
24+
environment:
25+
ALLOW_EMPTY_PASSWORD: "yes"
26+
REDIS_NODES: "redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5"
27+
28+
redis-node-2:
29+
image: docker.io/bitnami/redis-cluster:7.2
30+
environment:
31+
ALLOW_EMPTY_PASSWORD: "yes"
32+
REDIS_NODES: "redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5"
33+
34+
redis-node-3:
35+
image: docker.io/bitnami/redis-cluster:7.2
36+
environment:
37+
ALLOW_EMPTY_PASSWORD: "yes"
38+
REDIS_NODES: "redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5"
39+
40+
redis-node-4:
41+
image: docker.io/bitnami/redis-cluster:7.2
42+
environment:
43+
ALLOW_EMPTY_PASSWORD: "yes"
44+
REDIS_NODES: "redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5"
45+
46+
redis-node-5:
47+
image: docker.io/bitnami/redis-cluster:7.2
48+
depends_on:
49+
- redis-node-0
50+
- redis-node-1
51+
- redis-node-2
52+
- redis-node-3
53+
- redis-node-4
54+
environment:
55+
ALLOW_EMPTY_PASSWORD: "yes"
56+
REDIS_NODES: "redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5"
57+
REDIS_CLUSTER_REPLICAS: 1
58+
REDIS_CLUSTER_CREATOR: "yes"
59+
ports:
60+
- 7001:6379

taskiq_redis/redis_backend.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ def __init__(
183183

184184
async def shutdown(self) -> None:
185185
"""Closes redis connection."""
186-
await self.redis.close()
186+
await self.redis.aclose() # type: ignore[attr-defined]
187187
await super().shutdown()
188188

189189
async def set_result(

tests/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def redis_url() -> str:
2525
2626
:return: URL string.
2727
"""
28-
return os.environ.get("TEST_REDIS_URL", "redis://localhost")
28+
return os.environ.get("TEST_REDIS_URL", "redis://localhost:7000")
2929

3030

3131
@pytest.fixture
@@ -39,4 +39,4 @@ def redis_cluster_url() -> str:
3939
4040
:return: URL string.
4141
"""
42-
return os.environ.get("TEST_REDIS_CLUSTER_URL", "redis://localhost:7000")
42+
return os.environ.get("TEST_REDIS_CLUSTER_URL", "redis://localhost:7001")

0 commit comments

Comments
 (0)