diff --git a/video-gen-api/app/services/private_portrait/asset_service.py b/video-gen-api/app/services/private_portrait/asset_service.py index fa4fc1fd..b89b1615 100644 --- a/video-gen-api/app/services/private_portrait/asset_service.py +++ b/video-gen-api/app/services/private_portrait/asset_service.py @@ -184,6 +184,9 @@ async def create_validate_session(db: AsyncSession, *, user_id: str, project_id: session.h5_link = resp.get("H5Link") or resp.get("h5Link") session.raw_response_json = _json(resp) await db.flush() + # created_at / updated_at 来自数据库默认值或 onupdate,flush 后可能处于 expired 状态。 + # 在 async SQLAlchemy 下,响应转换时同步读取 expired 字段会触发 MissingGreenlet。 + await db.refresh(session) log_operation_event(domain=DOMAIN, event_type=PrivatePortraitEventType.VALIDATE_SESSION_CREATE.value, event_status=PrivatePortraitEventStatus.SUCCESS.value, source=PrivatePortraitEventSource.API.value, user_id=user_id, project_id=project.id, session_id=session.id, detail={"remote_project_name": project.remote_project_name}) return session except Exception as exc: