# 내부 운영 API 서버. 사장님 API(solution/backend/web_main.py, :9800)와 # **다른 프로세스·다른 포트**다. # # PYTHONPATH=../../solution/backend python main.py # # ★ 코드는 나누지 않는다. services/crud/models 를 web_main 과 그대로 공유하고 # 진입점만 둘이다 — 도메인을 두 번 구현하지 않으면서 프로세스·네트워크만 가른다. # 왜 그래야 하는지는 app.py 주석에 있다. import os import uvicorn from common.logger import LOG from config.server_configs import web_server_config LOG.SetPrefix(f"{web_server_config.server_name}-admin") import app # noqa: F401 (import 시점에 FastAPI app · DB 세션 매니저가 선다) ADMIN_PORT = int(os.environ.get("ADMIN_API_PORT", "9801")) if __name__ == "__main__": LOG.i(f"Admin API Port : {ADMIN_PORT}") run_kwargs = dict(host="0.0.0.0", port=ADMIN_PORT, access_log=False) if os.environ.get("RELOAD") == "1": run_kwargs["reload"] = True else: run_kwargs["workers"] = 1 uvicorn.run("app:app", **run_kwargs)