wms-py/run.py
2025-06-04 10:39:32 +08:00

59 lines
1.6 KiB
Python

#!/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()