You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.2 KiB

# -*- coding: utf-8 -*-
"""
===================================
Daily Stock Analysis - FastAPI 后端服务入口
===================================
职责
1. 提供 RESTful API 服务
2. 配置 CORS 跨域支持
3. 健康检查接口
4. 托管前端静态文件生产模式
启动方式
uvicorn server:app --reload --host 0.0.0.0 --port 8000
或使用 main.py:
python main.py --serve-only # 仅启动 API 服务
python main.py --serve # API 服务 + 执行分析
"""
import logging
from src.config import setup_env, get_config
from src.logging_config import setup_logging
# 初始化环境变量与日志
setup_env()
config = get_config()
level_name = (config.log_level or "INFO").upper()
level = getattr(logging, level_name, logging.INFO)
setup_logging(
log_prefix="api_server",
console_level=level,
extra_quiet_loggers=['uvicorn', 'fastapi'],
)
# 从 api.app 导入应用实例
from api.app import app # noqa: E402
# 导出 app 供 uvicorn 使用
__all__ = ['app']
if __name__ == "__main__":
import uvicorn
uvicorn.run(
"server:app",
host="0.0.0.0",
port=8000,
reload=True,
)