diff --git a/app/config.py.default b/app/config.py.default index a56659a..d5dd2fa 100644 --- a/app/config.py.default +++ b/app/config.py.default @@ -22,6 +22,12 @@ class Settings(BaseSettings): SQLALCHEMY_DB_URI = 'mysql://'+DB['username']+':'+DB['password']+'@'+DB['server']+'/'+DB['name'] + # Redis + REDIS = {} + REDIS['server'] = 'localhost' # 'localhost' 'redis' + REDIS['port'] = '6379' + + # Send SMTP Email SMTP = {} diff --git a/app/log.py b/app/log.py index c962ead..b9aebf7 100644 --- a/app/log.py +++ b/app/log.py @@ -1,5 +1,7 @@ import functools, logging +from app.config import settings + # stream options: 'ext://sys.stderr' or 'ext://sys.stdout' # NOTE: This log config is confusing and may need work... 2022-10-07 @@ -25,7 +27,7 @@ logging.config.dictConfig({ 'level': 'NOTSET', 'class': 'logging.handlers.RotatingFileHandler', 'formatter': 'long', - 'filename': 'admin/log/app.log', + 'filename': settings.LOG_PATH['app'], 'maxBytes': 5120000, # 5120000 = 5 MB 'backupCount': 5 }, @@ -33,7 +35,7 @@ logging.config.dictConfig({ 'level': 'WARNING', 'class': 'logging.handlers.RotatingFileHandler', 'formatter': 'long', - 'filename': 'admin/log/app_warning.log', + 'filename': settings.LOG_PATH['app_warning'], 'maxBytes': 512000, # 512000 = .512 MB 'backupCount': 5 }, diff --git a/app/routers/websockets.py b/app/routers/websockets.py index 486fcb4..45344c0 100644 --- a/app/routers/websockets.py +++ b/app/routers/websockets.py @@ -2,7 +2,7 @@ from fastapi import APIRouter, FastAPI, Response, WebSocket, WebSocketDisconnect from fastapi.responses import HTMLResponse from pydantic import BaseModel, EmailStr, Field from typing import Dict, List, Optional, Set, Union -import aioredis, asyncio, datetime, hashlib, json, os, pathlib, shutil, time +import redis, asyncio, datetime, hashlib, json, os, pathlib, shutil, time from app.lib_general import log, logging, common_route_params, Common_Route_Params, common_route_params_min, Common_Route_Params_Min from app.config import settings @@ -191,7 +191,7 @@ async def ws_client_id( async def redis_connector( websocket: WebSocket, - redis_url: str = "redis://localhost:6379", + redis_url: str = f"redis://{settings.REDIS['server']}:{settings.REDIS['port']}", ): log.setLevel(logging.DEBUG) log.debug(locals()) @@ -214,7 +214,7 @@ async def redis_connector( async def producer_handler(r, ws: WebSocket): (channel,) = await r.subscribe("chat:c") - assert isinstance(channel, aioredis.Channel) + assert isinstance(channel, redis.Channel) try: while True: message = await channel.get() @@ -224,9 +224,9 @@ async def redis_connector( # TODO this needs handling better log.error(exc) - # redis = await aioredis.create_pool(redis_url) + # redis = await redis.create_pool(redis_url) # Redis client bound to pool of connections (auto-reconnecting). - redis = aioredis.from_url( + redis = redis.from_url( redis_url, encoding="utf-8", decode_responses=True )