refactor(api): TOML 配置 SSOT、统一错误契约、Auth/事务加固与可观测性 (#33)
配置 SSOT(TOML + .env) 统一错误契约 Auth 与事务边界 Redis / Celery 可靠性:业务 Redis(DB/0)与 Celery broker/backend(DB/1)显式拆分;连接池、sync client 可观测性(OpenTelemetry + LGTM)
This commit is contained in:
@@ -8,6 +8,7 @@ from urllib.parse import urlparse
|
||||
from app.core.config import settings
|
||||
from app.core.logging import get_logger
|
||||
from app.ports.storage import ObjectStorage
|
||||
from app.core.runtime_constants import misc_defaults
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
@@ -35,7 +36,7 @@ def extract_cos_object_key_if_owned(url: str | None) -> str | None:
|
||||
|
||||
candidates: list[str] = []
|
||||
bucket = (settings.tencent_cos_bucket or "").strip().lower()
|
||||
region = (settings.tencent_cos_region or "").strip().lower()
|
||||
region = (misc_defaults.tencent_cos_region or "").strip().lower()
|
||||
if bucket and region:
|
||||
candidates.append(f"{bucket}.cos.{region}.myqcloud.com")
|
||||
base = (settings.tencent_cos_base_url or "").strip()
|
||||
@@ -135,7 +136,7 @@ def avatar_url_for_api_response(stored_url: str | None) -> str | None:
|
||||
if not key:
|
||||
return s
|
||||
if not (
|
||||
(settings.tencent_cos_secret_id or "").strip()
|
||||
(settings.tencent_secret_id or "").strip()
|
||||
and (settings.tencent_cos_bucket or "").strip()
|
||||
):
|
||||
return s
|
||||
@@ -159,7 +160,7 @@ def best_effort_delete_cos_object_for_url(url: str | None) -> None:
|
||||
if not key:
|
||||
return
|
||||
if not (
|
||||
(settings.tencent_cos_secret_id or "").strip()
|
||||
(settings.tencent_secret_id or "").strip()
|
||||
and (settings.tencent_cos_bucket or "").strip()
|
||||
):
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user