27 lines
951 B
Python
27 lines
951 B
Python
|
|
"""配置管理 - 环境变量 + 默认值"""
|
||
|
|
import os
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
# 项目根目录
|
||
|
|
BASE_DIR = Path(__file__).parent
|
||
|
|
DATA_DIR = Path(os.getenv("DATA_DIR", "/app/data"))
|
||
|
|
DATA_DIR.mkdir(parents=True, exist_ok=True)
|
||
|
|
|
||
|
|
# 数据库
|
||
|
|
DATABASE_URL = os.getenv("DATABASE_URL", str(DATA_DIR / "rsskeeper.db"))
|
||
|
|
|
||
|
|
# RSS 抓取配置
|
||
|
|
FETCH_CONCURRENCY = int(os.getenv("FETCH_CONCURRENCY", "10"))
|
||
|
|
FETCH_TIMEOUT = int(os.getenv("FETCH_TIMEOUT", "30"))
|
||
|
|
DEFAULT_FETCH_INTERVAL = int(os.getenv("DEFAULT_FETCH_INTERVAL", "60")) # 分钟
|
||
|
|
MIN_FETCH_INTERVAL = int(os.getenv("MIN_FETCH_INTERVAL", "15")) # 最小间隔15分钟
|
||
|
|
|
||
|
|
# 内容处理
|
||
|
|
MAX_ARTICLE_CONTENT_LENGTH = int(os.getenv("MAX_ARTICLE_CONTENT_LENGTH", "50000"))
|
||
|
|
MAX_SUMMARY_LENGTH = int(os.getenv("MAX_SUMMARY_LENGTH", "500"))
|
||
|
|
ARTICLE_RETENTION_DAYS = int(os.getenv("ARTICLE_RETENTION_DAYS", "0")) # 0 = 永久保留
|
||
|
|
|
||
|
|
# API 配置
|
||
|
|
API_PREFIX = "/api"
|
||
|
|
EXTERNAL_API_PREFIX = "/api/v1/external"
|