feat: Register db_worker task in main.py lifespan
This commit is contained in:
@@ -18,6 +18,7 @@ import pytz
|
|||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
from app.api import api_router
|
from app.api import api_router
|
||||||
from app.services.websocket_manager import websocket_manager
|
from app.services.websocket_manager import websocket_manager
|
||||||
|
from app.services.db_worker import db_writer_worker
|
||||||
from app.core.database import engine, Base, AsyncSessionLocal
|
from app.core.database import engine, Base, AsyncSessionLocal
|
||||||
from app.models import models # 모델 임포트
|
from app.models import models # 모델 임포트
|
||||||
from app.core.market_schedule import is_market_open
|
from app.core.market_schedule import is_market_open
|
||||||
@@ -315,6 +316,9 @@ async def lifespan(app: FastAPI):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning(f"⚠️ 데이트레이딩 포지션 복구 실패 (non-critical): {e}")
|
logger.warning(f"⚠️ 데이트레이딩 포지션 복구 실패 (non-critical): {e}")
|
||||||
|
|
||||||
|
# 워커 시작 (스케줄러 및 API 요청 처리 전 큐 준비)
|
||||||
|
app.state.db_worker_task = asyncio.create_task(db_writer_worker())
|
||||||
|
|
||||||
# 스케줄러 시작
|
# 스케줄러 시작
|
||||||
app.state.auto_trade_task = asyncio.create_task(auto_trade_scheduler())
|
app.state.auto_trade_task = asyncio.create_task(auto_trade_scheduler())
|
||||||
app.state.batch_analysis_task = asyncio.create_task(batch_analysis_scheduler())
|
app.state.batch_analysis_task = asyncio.create_task(batch_analysis_scheduler())
|
||||||
@@ -324,7 +328,7 @@ async def lifespan(app: FastAPI):
|
|||||||
|
|
||||||
# 종료 시 정리 작업
|
# 종료 시 정리 작업
|
||||||
# 스케줄러 중단
|
# 스케줄러 중단
|
||||||
for task_attr in ("auto_trade_task", "batch_analysis_task", "day_trade_task"):
|
for task_attr in ("auto_trade_task", "batch_analysis_task", "day_trade_task", "db_worker_task"):
|
||||||
try:
|
try:
|
||||||
task = getattr(app.state, task_attr, None)
|
task = getattr(app.state, task_attr, None)
|
||||||
if task:
|
if task:
|
||||||
|
|||||||
Reference in New Issue
Block a user