Files
life-echo/api/app/core/memoir_pipeline_trace.py

21 lines
620 B
Python
Raw Normal View History

"""Memoir Phase1→Phase2→post-commit 链路的 trace id日志与 compaction context 关联)。"""
from __future__ import annotations
import uuid
def new_memoir_correlation_id() -> str:
return str(uuid.uuid4())
def effective_correlation_id(
*, explicit: str | None, celery_task_id: str | None
) -> str:
"""优先使用 Phase1 传入的 id否则退化为 Celery task id。"""
if explicit and str(explicit).strip():
return str(explicit).strip()
if celery_task_id and str(celery_task_id).strip():
return str(celery_task_id).strip()
return new_memoir_correlation_id()