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.api import api_router
|
||||
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.models import models # 모델 임포트
|
||||
from app.core.market_schedule import is_market_open
|
||||
@@ -315,6 +316,9 @@ async def lifespan(app: FastAPI):
|
||||
except Exception as 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.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:
|
||||
task = getattr(app.state, task_attr, None)
|
||||
if task:
|
||||
|
||||
Reference in New Issue
Block a user