feat(redis): use asyncio
This commit is contained in:
@@ -59,16 +59,15 @@ class BaseFetcher:
|
||||
self.refresh_token = token_data.get("refresh_token", "")
|
||||
self.token_expiry = int(time.time()) + token_data["expires_in"]
|
||||
redis = get_redis()
|
||||
if redis:
|
||||
redis.set(
|
||||
f"fetcher:access_token:{self.client_id}",
|
||||
self.access_token,
|
||||
ex=token_data["expires_in"],
|
||||
)
|
||||
redis.set(
|
||||
f"fetcher:refresh_token:{self.client_id}",
|
||||
self.refresh_token,
|
||||
)
|
||||
await redis.set(
|
||||
f"fetcher:access_token:{self.client_id}",
|
||||
self.access_token,
|
||||
ex=token_data["expires_in"],
|
||||
)
|
||||
await redis.set(
|
||||
f"fetcher:refresh_token:{self.client_id}",
|
||||
self.refresh_token,
|
||||
)
|
||||
|
||||
async def refresh_access_token(self) -> None:
|
||||
async with AsyncClient() as client:
|
||||
@@ -87,13 +86,12 @@ class BaseFetcher:
|
||||
self.refresh_token = token_data.get("refresh_token", "")
|
||||
self.token_expiry = int(time.time()) + token_data["expires_in"]
|
||||
redis = get_redis()
|
||||
if redis:
|
||||
redis.set(
|
||||
f"fetcher:access_token:{self.client_id}",
|
||||
self.access_token,
|
||||
ex=token_data["expires_in"],
|
||||
)
|
||||
redis.set(
|
||||
f"fetcher:refresh_token:{self.client_id}",
|
||||
self.refresh_token,
|
||||
)
|
||||
await redis.set(
|
||||
f"fetcher:access_token:{self.client_id}",
|
||||
self.access_token,
|
||||
ex=token_data["expires_in"],
|
||||
)
|
||||
await redis.set(
|
||||
f"fetcher:refresh_token:{self.client_id}",
|
||||
self.refresh_token,
|
||||
)
|
||||
|
||||
@@ -4,7 +4,7 @@ from ._base import BaseFetcher
|
||||
|
||||
from httpx import AsyncClient
|
||||
from loguru import logger
|
||||
import redis
|
||||
import redis.asyncio as redis
|
||||
|
||||
|
||||
class OsuDotDirectFetcher(BaseFetcher):
|
||||
@@ -23,7 +23,7 @@ class OsuDotDirectFetcher(BaseFetcher):
|
||||
self, redis: redis.Redis, beatmap_id: int
|
||||
) -> str:
|
||||
if redis.exists(f"beatmap:{beatmap_id}:raw"):
|
||||
return redis.get(f"beatmap:{beatmap_id}:raw") # pyright: ignore[reportReturnType]
|
||||
return await redis.get(f"beatmap:{beatmap_id}:raw") # pyright: ignore[reportReturnType]
|
||||
raw = await self.get_beatmap_raw(beatmap_id)
|
||||
redis.set(f"beatmap:{beatmap_id}:raw", raw, ex=60 * 60 * 24)
|
||||
await redis.set(f"beatmap:{beatmap_id}:raw", raw, ex=60 * 60 * 24)
|
||||
return raw
|
||||
|
||||
Reference in New Issue
Block a user