25820fc2dc
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 6s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m23s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m4s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 33s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 18s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m21s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 51s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 22s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m10s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m57s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m37s
AI Code Review / AI Code Review (pull_request) Successful in 7m16s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 9m23s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 5m21s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 46s
- 新增 packages/config/ 作为配置统一入口(base/api_settings/worker_settings) - SharedSettings 基类 + 统一单例管理(_settings_cache),消除3处重复单例实现 - API配置迁移到 packages/config/api_settings.py(APISettings) - Worker配置迁移到 packages/config/worker_settings.py(WorkerSettings) - 旧路径全部保留为 re-export 向后兼容层 - alembic/env.py 改用统一配置获取 database_url,不再直接读环境变量 - 测试更新:改用 reload_settings_cache() 替代手动 _settings=None 净减 397 行(4新文件 + 7修改)
28 lines
834 B
Python
Executable File
28 lines
834 B
Python
Executable File
"""API 服务配置(向后兼容层)。
|
|
|
|
统一配置已迁移到 packages.config.api_settings。
|
|
新代码请使用:
|
|
from packages.config import APISettings, get_api_settings
|
|
|
|
本文件保留 Settings 类名、get_settings() 函数、settings 模块级单例,
|
|
确保所有旧的 import 路径仍然有效。
|
|
"""
|
|
|
|
from packages.config import APISettings as Settings
|
|
from packages.config import get_api_settings as get_settings
|
|
from packages.config import reload_settings_cache
|
|
|
|
# 模块级单例(向后兼容)
|
|
settings = get_settings()
|
|
|
|
# 暴露旧的 reload_settings 函数名
|
|
def reload_settings():
|
|
"""重新加载配置(测试用)。"""
|
|
reload_settings_cache()
|
|
global settings
|
|
settings = get_settings()
|
|
return settings
|
|
|
|
|
|
__all__ = ["Settings", "get_settings", "settings", "reload_settings"]
|