43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
from pydantic_settings import BaseSettings
|
||
|
||
|
||
class Settings(BaseSettings):
|
||
# 数据库配置
|
||
database_url: str = ""
|
||
|
||
# Celery配置
|
||
celery_broker_url: str = "redis://localhost:6379/0"
|
||
celery_result_backend: str = "redis://localhost:6379/0"
|
||
celery_task_serializer: str = "json"
|
||
celery_result_serializer: str = "json"
|
||
celery_accept_content: list = ["json"]
|
||
celery_timezone: str = "UTC"
|
||
celery_enable_utc: bool = True
|
||
|
||
# 业务配置
|
||
count_threshold: int = 3 # count阈值,大于等于此值直接返回
|
||
external_api_enabled: bool = False # 是否启用外部API调用
|
||
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"
|
||
environment: str = "production" # 环境: production, test, development
|
||
debug: bool = False
|
||
disable_docs: bool = False
|
||
|
||
class Config:
|
||
env_file = ".env"
|
||
case_sensitive = False
|
||
|
||
|
||
settings = Settings()
|