From 35f3d63d4c894add3108b20df96fd5acb8901170 Mon Sep 17 00:00:00 2001 From: FFXN <31929997+FFXN@users.noreply.github.com> Date: Thu, 30 Apr 2026 15:45:54 +0800 Subject: [PATCH] fix: evaluation. (#35729) Co-authored-by: jyong <718720800@qq.com> Co-authored-by: Yansong Zhang <916125788@qq.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: hj24 Co-authored-by: hj24 Co-authored-by: Joel Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com> Co-authored-by: CodingOnStar Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- api/services/evaluation_service.py | 8 +++++++- api/tasks/evaluation_task.py | 12 ++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/api/services/evaluation_service.py b/api/services/evaluation_service.py index 52b6582eca..6930e7e399 100644 --- a/api/services/evaluation_service.py +++ b/api/services/evaluation_service.py @@ -495,7 +495,13 @@ class EvaluationService: _persist_results(session, evaluation_run.id, results, items) result_xlsx = _generate_result_xlsx(items, results) - result_file_id = _store_result_file(tenant_id, evaluation_run.id, result_xlsx, session) + result_file_id = _store_result_file( + tenant_id, + evaluation_run.id, + result_xlsx, + session, + created_by=account_id, + ) if result_file_id: evaluation_run.result_file_id = result_file_id session.commit() diff --git a/api/tasks/evaluation_task.py b/api/tasks/evaluation_task.py index 4e3f7acb2e..556c162a42 100644 --- a/api/tasks/evaluation_task.py +++ b/api/tasks/evaluation_task.py @@ -123,7 +123,13 @@ def _execute_evaluation(session: Any, run_data: EvaluationRunData) -> None: result_xlsx = _generate_result_xlsx(run_data.input_list, results) # Store result file - result_file_id = _store_result_file(run_data.tenant_id, run_data.evaluation_run_id, result_xlsx, session) + result_file_id = _store_result_file( + run_data.tenant_id, + run_data.evaluation_run_id, + result_xlsx, + session, + created_by=evaluation_run.created_by, + ) # Update run to completed evaluation_run = session.query(EvaluationRun).filter_by(id=run_data.evaluation_run_id).first() @@ -509,6 +515,7 @@ def _store_result_file( run_id: str, xlsx_content: bytes, session: Any, + created_by: str, ) -> str | None: """Store result XLSX file and return the UploadFile ID.""" try: @@ -529,7 +536,7 @@ def _store_result_file( extension="xlsx", mime_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", created_by_role=CreatorUserRole.ACCOUNT, - created_by="system", + created_by=created_by, created_at=naive_utc_now(), used=False, ) @@ -537,5 +544,6 @@ def _store_result_file( session.commit() return upload_file.id except Exception: + session.rollback() logger.exception("Failed to store result file for run %s", run_id) return None