mirror of
https://github.com/lorsanstand/Aether.git
synced 2026-09-18 14:18:20 +03:00
refractor structure project and add user endpoint
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import json
|
||||
import logging
|
||||
from functools import wraps
|
||||
|
||||
from fastapi import Request
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
|
||||
from app.utils.redis import get_redis
|
||||
from app.core.redis import get_redis
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
def cache(ttl: int = 10):
|
||||
if ttl <= 0:
|
||||
@@ -17,10 +20,12 @@ def cache(ttl: int = 10):
|
||||
request: Request = kwargs.get("request")
|
||||
response_cache = await redis.get(str(request.url))
|
||||
if response_cache is not None:
|
||||
log.debug("Getting from cache")
|
||||
return json.loads(response_cache)
|
||||
|
||||
response_cache = await func(*args, **kwargs)
|
||||
await redis.setex(str(request.url), ttl, json.dumps(response_cache))
|
||||
serializable_data = jsonable_encoder(response_cache)
|
||||
await redis.setex(str(request.url), ttl, json.dumps(serializable_data))
|
||||
return response_cache
|
||||
|
||||
return wrapper
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
from celery import Celery
|
||||
|
||||
from app.config import settings
|
||||
|
||||
celery_app = Celery(
|
||||
"app.utils.celery_app",
|
||||
broker=settings.RABBITMQ_URL,
|
||||
backend="rpc://"
|
||||
)
|
||||
|
||||
celery_app.autodiscover_tasks(["app.tasks"])
|
||||
@@ -7,7 +7,7 @@ from email.mime.multipart import MIMEMultipart
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
|
||||
from app.config import settings
|
||||
from app.core.config import settings
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
from redis.asyncio import Redis, from_url
|
||||
|
||||
from app.config import settings
|
||||
|
||||
redis_client: Redis = None
|
||||
|
||||
async def init_redis() -> None:
|
||||
global redis_client
|
||||
redis_client = await from_url(
|
||||
settings.REDIS_URL,
|
||||
encoding="utf-8",
|
||||
decode_responses=True
|
||||
)
|
||||
|
||||
|
||||
async def close_redis() -> None:
|
||||
if redis_client:
|
||||
await redis_client.close()
|
||||
|
||||
|
||||
async def get_redis() -> Redis:
|
||||
return redis_client
|
||||
Reference in New Issue
Block a user