[add]: refactor/clean up

This commit is contained in:
VivianDee
2025-09-09 10:57:47 +01:00
parent d9b6a7e92e
commit 4e22161088
10 changed files with 240 additions and 26 deletions
+33
View File
@@ -0,0 +1,33 @@
import time
import logging
from fastapi import APIRouter, HTTPException
from app.salary_analytics.services.main import SalaryAnalyticsPipeline
from app.salary_analytics.helpers.data_checks import check_data_loaded
from app.salary_analytics.helpers.response_helpers import AnalysisResponse
from app.salary_analytics.core.state import state
from app.utils.logger import logger
router = APIRouter()
@router.post("/train/models", response_model=AnalysisResponse)
async def train_models():
"""Train salary prediction models."""
start_time = time.time()
try:
check_data_loaded()
logger.info("Starting model training...")
state.pipeline.train_salary_prediction_models()
logger.info("Models trained successfully")
response = AnalysisResponse(
message="Models trained successfully"
)
logger.info(f"Model training endpoint completed in {time.time() - start_time:.2f} seconds")
return response
except Exception as e:
logger.error(f"Error in model training: {str(e)}")
logger.info(f"Model training endpoint failed after {time.time() - start_time:.2f} seconds")
raise HTTPException(status_code=500, detail=str(e))