#!/usr/bin/env python3 """ WMS FastAPI 应用启动脚本 支持通过环境变量切换开发/生产环境 """ import os import sys import uvicorn from pathlib import Path # 添加项目根目录到Python路径 project_root = Path(__file__).parent sys.path.insert(0, str(project_root)) def main(): """主函数""" # 获取环境变量,默认为开发环境 env = os.getenv("ENVIRONMENT", "development") print(f"🔧 当前环境: {env}") print(f"📁 项目根目录: {project_root}") # 设置环境变量 os.environ["ENVIRONMENT"] = env try: from app.config.settings import settings print(f"🚀 启动FastAPI应用...") print(f"📦 应用名称: {settings.config.name}") print(f"🌐 访问地址: http://{settings.config.host}:{settings.config.port}") print(f"📚 API文档: http://{settings.config.host}:{settings.config.port}/docs") # 根据环境设置不同的启动参数 if env == "development": uvicorn.run( "app.main:app", host=settings.config.host, port=settings.config.port, reload=True, log_level="debug" ) else: uvicorn.run( "app.main:app", host=settings.config.host, port=settings.config.port, reload=False, workers=4 ) except Exception as e: print(f"❌ 启动失败: {e}") sys.exit(1) if __name__ == "__main__": main()