stock-analysis-api / build_train.py
vjeai's picture
fix: build-time training + GET / root route
efda318
Raw
History Blame Contribute Delete
621 Bytes
"""
Build-time ML training script.
Called during Docker build — if training fails (e.g. yfinance rate-limited),
exits with code 1 so Dockerfile's `|| true` skips it gracefully.
The entrypoint will re-train at runtime as fallback.
"""
import os
import sys
os.makedirs("data", exist_ok=True)
try:
from tools.tool_ml_train import train_model, train_etf_model
print("==> Build-time ML training...")
train_model()
train_etf_model()
print("==> Build-time ML training complete.")
except Exception as e:
print(f"==> Build-time training failed: {e} — will train at startup instead.")
sys.exit(1)