global_settings.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. aliyun_oss: AliyunOssConfig = Field(default_factory=AliyunOssConfig)
  28. elasticsearch: ElasticsearchConfig = Field(default_factory=ElasticsearchConfig)
  29. apollo: ApolloConfig = Field(default_factory=ApolloConfig)
  30. # ============ 业务配置 ============
  31. cold_start: ColdStartConfig = Field(default_factory=ColdStartConfig)
  32. category: CategoryConfig = Field(default_factory=CategoryConfig)
  33. task_chinese_name: TaskChineseNameConfig = Field(
  34. default_factory=TaskChineseNameConfig
  35. )
  36. read_rate_limit: ReadRateLimited = Field(default_factory=ReadRateLimited)
  37. model_config = SettingsConfigDict(
  38. env_file=".env", env_file_encoding="utf-8", case_sensitive=False, extra="ignore"
  39. )