global_settings.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from pydantic import Field
  2. from pydantic_settings import BaseSettings, SettingsConfigDict
  3. from .settings import *
  4. class GlobalConfigSettings(BaseSettings):
  5. """应用全局配置"""
  6. # ============ 应用基础配置 ============
  7. app_name: str = Field(default="LongArticleTaskServer", description="应用名称")
  8. environment: str = Field(
  9. default="development", description="运行环境: development/pre/production"
  10. )
  11. debug: bool = Field(default=False, description="调试模式")
  12. # ============ 数据库配置 ============
  13. aigc_db: AigcDatabaseConfig = Field(default_factory=AigcDatabaseConfig)
  14. long_video_db: LongVideoDatabaseConfig = Field(
  15. default_factory=LongVideoDatabaseConfig
  16. )
  17. long_articles_db: LongArticlesDatabaseConfig = Field(
  18. default_factory=LongArticlesDatabaseConfig
  19. )
  20. piaoquan_crawler_db: PiaoquanCrawlerDatabaseConfig = Field(
  21. default_factory=PiaoquanCrawlerDatabaseConfig
  22. )
  23. growth_db: GrowthDatabaseConfig = Field(default_factory=GrowthDatabaseConfig)
  24. # ============ 外部服务配置 ============
  25. deepseek: DeepSeekConfig = Field(default_factory=DeepSeekConfig)
  26. aliyun_log: AliyunLogConfig = Field(default_factory=AliyunLogConfig)
  27. elasticsearch: ElasticsearchConfig = Field(default_factory=ElasticsearchConfig)
  28. apollo: ApolloConfig = Field(default_factory=ApolloConfig)
  29. # ============ 业务配置 ============
  30. cold_start: ColdStartConfig = Field(default_factory=ColdStartConfig)
  31. category: CategoryConfig = Field(default_factory=CategoryConfig)
  32. task_chinese_name: TaskChineseNameConfig = Field(
  33. default_factory=TaskChineseNameConfig
  34. )
  35. read_rate_limit: ReadRateLimited = Field(default_factory=ReadRateLimited)
  36. model_config = SettingsConfigDict(
  37. env_file=".env", env_file_encoding="utf-8", case_sensitive=False, extra="ignore"
  38. )