36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
from pydantic_settings import BaseSettings
|
||
|
||
|
||
class Settings(BaseSettings):
|
||
# 数据库配置
|
||
database_url: str = ""
|
||
|
||
# Redis配置
|
||
redis_url: str = "redis://localhost:6379/0"
|
||
redis_lock_timeout: int = 30 # 锁超时时间(秒)
|
||
redis_lock_retry_delay: float = 0.1 # 锁重试延迟(秒)
|
||
redis_lock_max_retries: int = 100 # 最大重试次数
|
||
|
||
# 业务配置
|
||
count_threshold: int = 3 # count阈值,大于等于此值直接返回
|
||
external_api_retry_max: int = 3 # 外部API最大重试次数
|
||
external_api_url: str = ""
|
||
|
||
# 日志配置
|
||
log_level: str = "INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL
|
||
log_file: str = "logs/app.log" # 日志文件路径
|
||
log_max_bytes: int = 10 * 1024 * 1024 # 10MB
|
||
log_backup_count: int = 5 # 备份文件数量
|
||
log_format: str = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
||
log_date_format: str = "%Y-%m-%d %H:%M:%S"
|
||
|
||
# 应用配置
|
||
app_name: str = "AI Talk Callback API"
|
||
debug: bool = False
|
||
|
||
class Config:
|
||
env_file = ".env"
|
||
case_sensitive = False
|
||
|
||
|
||
settings = Settings() |