math-solver-worker / scripts /prewarm_models.py
github-actions
Deploy render worker from GitHub Actions
06ca3b1
raw
history blame contribute delete
997 Bytes
#!/usr/bin/env python3
"""
Download and load all heavy models during Docker build (YOLO, PaddleOCR, Pix2Tex, agents).
Fails the image build if initialization fails.
"""
from __future__ import annotations
import logging
import os
import sys
# Ensure imports work when run as `python scripts/prewarm_models.py` from WORKDIR
_APP_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if _APP_ROOT not in sys.path:
sys.path.insert(0, _APP_ROOT)
os.chdir(_APP_ROOT)
from dotenv import load_dotenv
load_dotenv()
from app.runtime_env import apply_runtime_env_defaults
apply_runtime_env_defaults()
logging.basicConfig(level=logging.INFO, format="%(levelname)s %(name)s | %(message)s")
logger = logging.getLogger("prewarm")
def main() -> None:
from agents.orchestrator import Orchestrator
logger.info("Constructing Orchestrator (full agent + model load)...")
Orchestrator()
logger.info("Prewarm finished successfully.")
if __name__ == "__main__":
main()