""" 全局配置模块。 敏感信息优先从环境变量读取,其次使用默认值(仅开发环境)。 """ import os from pathlib import Path from dotenv import load_dotenv # 确保加载 finance/.env,无论从哪个目录运行 _env_path = Path(__file__).resolve().parent.parent / ".env" load_dotenv(_env_path) # ── MariaDB 连接 ────────────────────────────────────────── # 通过 SSH 隧道连接:shared/script/autossh.sh MARIADB_CONFIG = { "host": os.getenv("MAC_DB_HOST", "127.0.0.1"), "port": int(os.getenv("MAC_DB_PORT", "13306")), "user": os.getenv("MAC_DB_USER", "myquant"), "password": os.getenv("MAC_DB_PASSWORD", ""), "database": os.getenv("MAC_DB_NAME", "myquant"), "charset": "utf8mb4", "pool_size": 5, "pool_recycle": 600, # 10分钟回收,避免 SSH 隧道半开连接 } # ── 表名前缀 ────────────────────────────────────────────── TABLE_PREFIX = "mac_" # 完整表名 TABLE_STOCK_BASIC = f"{TABLE_PREFIX}stock_basic" TABLE_STOCK_DAILY = f"{TABLE_PREFIX}stock_daily" TABLE_STOCK_FINANCIAL = f"{TABLE_PREFIX}stock_financial" TABLE_REPORT = f"{TABLE_PREFIX}report" # ── AkShare 配置 ────────────────────────────────────────── AKSHARE_CONFIG = { "request_timeout": 30, "retry_times": 3, "retry_delay": 2, # 秒 } # ── 默认参数 ────────────────────────────────────────────── DEFAULT_START_DATE = "20200101" DEFAULT_END_DATE = None # None 表示当天