use redis.asyncio insted of the old aioredis package
Build and Push Docker Container / build-and-push (push) Successful in 51s
Build and Push Docker Container / build-and-push (push) Successful in 51s
This commit is contained in:
@@ -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,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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user