Files
FunctionalScaffold/src/functional_scaffold/config.py
Roog (顾新培) 5feb795d12 main:删除多余文档并清理项目目录
变更内容:
- 移除冗余文档,包括 Grafana 指南、指标对比、修复总结、OpenAPI 规范等。
- 精简项目文档结构,优化 README 文件内容。
- 提升文档层次清晰度,集中核心指南。
2026-02-03 18:38:08 +08:00

60 lines
1.5 KiB
Python

"""配置管理模块"""
from pydantic_settings import BaseSettings
from pydantic import ConfigDict
from typing import Optional
class Settings(BaseSettings):
"""应用配置"""
model_config = ConfigDict(env_file=".env", case_sensitive=False)
# 应用信息
app_name: str = "FunctionalScaffold"
app_version: str = "1.0.0"
app_env: str = "development"
# 服务器配置
host: str = "0.0.0.0"
port: int = 8000
workers: int = 4
# 日志配置
log_level: str = "INFO"
log_format: str = "json"
# 指标配置
metrics_enabled: bool = True
# 追踪配置
tracing_enabled: bool = False
jaeger_endpoint: Optional[str] = None
# 外部服务配置(示例)
oss_endpoint: Optional[str] = None
oss_access_key_id: Optional[str] = None
oss_access_key_secret: Optional[str] = None
oss_bucket_name: Optional[str] = None
database_url: Optional[str] = None
# Redis 配置
redis_host: str = "localhost"
redis_port: int = 6379
redis_db: int = 0
redis_password: Optional[str] = None
# 指标配置
metrics_config_path: str = "config/metrics.yaml"
metrics_instance_id: Optional[str] = None # 默认使用 hostname
# 异步任务配置
job_result_ttl: int = 1800 # 结果缓存时间(秒),默认 30 分钟
webhook_max_retries: int = 3 # Webhook 最大重试次数
webhook_timeout: int = 10 # Webhook 超时时间(秒)
# 全局配置实例
settings = Settings()