# 내부 운영 API 서버. 사장님 API(web_main.py, :9800)와 **다른 프로세스·다른 포트**다. # # python admin_main.py # # ★ 코드는 나누지 않는다. services/crud/models 를 web_main 과 그대로 공유하고 # 진입점만 둘이다 — 도메인을 두 번 구현하지 않으면서 프로세스·네트워크만 가른다. # 왜 그래야 하는지는 router/admin_router.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 router.admin_router 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("router.admin_router:app", **run_kwargs)