40 lines
2.1 KiB
Python
40 lines
2.1 KiB
Python
# -*- 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 <token>
|
||
|
||
# ─── 数据库(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=第二台, 依次递增)
|