开发机迁移

This commit is contained in:
Neo
2026-04-10 06:24:13 +08:00
parent f65c1d038b
commit 79d3c2e97e
50 changed files with 1565 additions and 318 deletions

View File

@@ -39,6 +39,61 @@ class RunJobByNameResponse(BaseModel):
job_name: str
class EtlCompletedRequest(BaseModel):
"""ETL 完成通知请求体。"""
pipeline: str = Field(default="api_full", description="完成的 pipeline 名称")
site_id: int | None = Field(default=None, description="门店 ID可选")
class EtlCompletedResponse(BaseModel):
"""ETL 完成编排结果。"""
success: bool
recall_result: dict | None = None
task_gen_result: dict | None = None
message: str = ""
@router.post("/etl-completed", response_model=EtlCompletedResponse)
async def etl_completed_endpoint(
body: EtlCompletedRequest,
_token: str = Depends(verify_internal_token),
) -> EtlCompletedResponse:
"""ETL pipeline 完成后的统一编排入口。
CHANGE 2026-04-07 | Fix-12ETL 完成后自动触发。
编排顺序recall_detector.run() → task_generator.run()
"""
from app.services import recall_detector, task_generator
recall_result = None
task_gen_result = None
errors = []
# Step 1: 先检查召回完成(含回溯)
try:
recall_result = recall_detector.run()
logger.info("ETL 编排 Step1 recall_detector 完成: %s", recall_result)
except Exception:
logger.exception("ETL 编排 Step1 recall_detector 失败")
errors.append("recall_detector failed")
# Step 2: 再生成新任务
try:
task_gen_result = task_generator.run()
logger.info("ETL 编排 Step2 task_generator 完成: %s", task_gen_result)
except Exception:
logger.exception("ETL 编排 Step2 task_generator 失败")
errors.append("task_generator failed")
success = len(errors) == 0
return EtlCompletedResponse(
success=success,
recall_result=recall_result,
task_gen_result=task_gen_result,
message="; ".join(errors) if errors else "ok",
)
@router.post("/run-job", response_model=RunJobByNameResponse)
async def run_job_by_name_endpoint(
body: RunJobByNameRequest,