# -*- coding: utf-8 -*- """ 服务器配置。 可通过环境变量或直接修改此文件调整。 """ import os # ─── 服务 ─── HOST: str = os.getenv("SERVER_HOST", "0.0.0.0") PORT: int = int(os.getenv("SERVER_PORT", "9000")) # 云服务器主端口 # ─── WebSocket ─── WS_PATH: str = "/ws" # Worker 连接端点 HEARTBEAT_INTERVAL: int = 30 # 期望 Worker 心跳间隔(秒) HEARTBEAT_TIMEOUT: int = 90 # 超时未收到心跳视为离线(秒) TASK_EXEC_TIMEOUT: int = int(os.getenv("TASK_EXEC_TIMEOUT", "300")) # 任务执行超时时间(秒) TASK_HEALTH_CHECK_INTERVAL: int = int(os.getenv("TASK_HEALTH_CHECK_INTERVAL", "30")) # 超时任务巡检间隔(秒) TASK_STATUS_QUERY_TIMEOUT: int = int(os.getenv("TASK_STATUS_QUERY_TIMEOUT", "10")) # 等待 worker 状态回报超时(秒) # ─── 安全(可选) ─── API_TOKEN: str = os.getenv("API_TOKEN", "") # 非空时校验 Header: Authorization: Bearer # ─── 数据库(MySQL) ─── DB_HOST: str = os.getenv("DB_HOST", "8.137.99.82") DB_PORT: int = int(os.getenv("DB_PORT", "3306")) DB_USER: str = os.getenv("DB_USER", "boss_dp") DB_PASSWORD: str = os.getenv("DB_PASSWORD", "H7sEY3t4YbF6Jp2h") DB_NAME: str = os.getenv("DB_NAME", "boss_dp") # ─── 登录认证 ─── # 注意:生产环境建议通过环境变量设置密码,不要直接写死在代码里 ADMIN_USERNAME: str = os.getenv("ADMIN_USERNAME", "admin") ADMIN_PASSWORD: str = os.getenv("ADMIN_PASSWORD", "boss_dp_admin") AUTH_COOKIE_NAME: str = os.getenv("AUTH_COOKIE_NAME", "auth_token") # ─── 隧道(内网穿透) ─── TUNNEL_CONTROL_PORT: int = int(os.getenv("TUNNEL_CONTROL_PORT", "9090")) # 隧道控制端口(客户端连接) TUNNEL_STREAM_PORT: int = int(os.getenv("TUNNEL_STREAM_PORT", "9091")) # 隧道流端口(桥接用) TUNNEL_PROXY_BASE_PORT: int = int(os.getenv("TUNNEL_PROXY_BASE_PORT", "9001")) # 代理端口起始(9001=第一台, 9002=第二台, 依次递增)