变更内容: - 移除冗余文档,包括 Grafana 指南、指标对比、修复总结、OpenAPI 规范等。 - 精简项目文档结构,优化 README 文件内容。 - 提升文档层次清晰度,集中核心指南。
60 lines
1.5 KiB
Python
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()
|