use redis.asyncio insted of the old aioredis package
Build and Push Docker Container / build-and-push (push) Successful in 51s

This commit is contained in:
2026-04-04 13:25:23 +02:00
parent 00d456a412
commit 33c8fabc4c
3 changed files with 14 additions and 10 deletions
-1
View File
@@ -10,5 +10,4 @@ dependencies = [
"gel>=3.1.0", "gel>=3.1.0",
"redis>=5.2.1", "redis>=5.2.1",
"quart>=0.20.0", "quart>=0.20.0",
"aioredis>=2.0.1",
] ]
-1
View File
@@ -1,6 +1,5 @@
aiofiles==25.1.0 aiofiles==25.1.0
aiologger==0.7.0 aiologger==0.7.0
aioredis==2.0.1
async-timeout==5.0.1 async-timeout==5.0.1
blinker==1.9.0 blinker==1.9.0
click==8.3.2 click==8.3.2
+13 -7
View File
@@ -1,4 +1,5 @@
from server.GameBoard import GameBoard from server.GameBoard import GameBoard
import inspect
import pickle import pickle
class RedisGameBoardStore: class RedisGameBoardStore:
@@ -13,9 +14,9 @@ class RedisGameBoardStore:
return self._redis return self._redis
try: try:
import aioredis # type: ignore[import-not-found] import redis.asyncio as aioredis # type: ignore[import-not-found]
except ImportError as error: # pragma: no cover except ImportError as error: # pragma: no cover
raise RuntimeError("Redis backend selected but 'aioredis' package is not installed") from error raise RuntimeError("Redis backend selected but 'redis' package with asyncio support is not installed") from error
self._redis = aioredis.from_url(self.redis_url) self._redis = aioredis.from_url(self.redis_url)
return self._redis return self._redis
@@ -43,11 +44,16 @@ class RedisGameBoardStore:
if self._redis is None: if self._redis is None:
return return
if hasattr(self._redis, "aclose"): aclose_method = getattr(self._redis, "aclose", None)
await self._redis.aclose() if callable(aclose_method):
elif hasattr(self._redis, "close"): maybe_result = aclose_method()
close_result = self._redis.close() if inspect.isawaitable(maybe_result):
if close_result is not None: await maybe_result
else:
close_method = getattr(self._redis, "close", None)
if callable(close_method):
close_result = close_method()
if inspect.isawaitable(close_result):
await close_result await close_result
self._redis = None self._redis = None