API-AI-007:AiRuntimeJob / AiRuntimeResult Schema #168

Closed
opened 2026-06-10 21:02:29 +08:00 by wangdl · 1 comment
Owner

目标

新增 Runtime 异步任务表和结果表,用于 API 与 Rust Runtime 解耦。

AiRuntimeJob 字段建议

  • id
  • userId
  • jobType
  • targetType
  • targetId
  • snapshotId
  • status
  • priority
  • idempotencyKey
  • apiKeyMode
  • credentialId
  • modelProvider
  • modelName
  • promptVersion
  • outputSchemaVersion
  • attemptNo
  • retriedFromJobId
  • lockedBy
  • lockedAt
  • lockUntil
  • startedAt
  • finishedAt
  • retryCount
  • maxRetryCount
  • timeoutSeconds
  • errorCode
  • errorMessage
  • createdAt
  • updatedAt

AiRuntimeResult 字段建议

  • id
  • jobId
  • userId
  • runtimeInstanceId
  • status
  • attemptNo
  • resultIdempotencyKey
  • outputHash
  • rawOutput
  • validatedOutput
  • schemaVersion
  • validationErrors
  • createdAt
  • updatedAt

索引要求

  • job.status
  • job.jobType
  • job.userId
  • job.targetType + targetId
  • job.idempotencyKey unique
  • job.lockUntil
  • result.jobId unique

验收标准

  1. 新增 AiRuntimeJob schema。
  2. 新增 AiRuntimeResult schema。
  3. 支持 job 与 result 一对一。
  4. 支持 idempotencyKey 防重复。
  5. 支持 pending job 查询索引。
  6. 支持 lockUntil 超时扫描。
  7. 支持 jobType / targetType 查询。
  8. 提供 repository/service。
  9. 提供基础状态流转测试。
  10. 同一 job + attemptNo + outputHash 重复提交时幂等。
  11. Admin 重跑应创建新 job,并记录 retriedFromJobId。
  12. 同一 job 默认只允许一个 succeeded result。
## 目标 新增 Runtime 异步任务表和结果表,用于 API 与 Rust Runtime 解耦。 ## AiRuntimeJob 字段建议 - id - userId - jobType - targetType - targetId - snapshotId - status - priority - idempotencyKey - apiKeyMode - credentialId - modelProvider - modelName - promptVersion - outputSchemaVersion - attemptNo - retriedFromJobId - lockedBy - lockedAt - lockUntil - startedAt - finishedAt - retryCount - maxRetryCount - timeoutSeconds - errorCode - errorMessage - createdAt - updatedAt ## AiRuntimeResult 字段建议 - id - jobId - userId - runtimeInstanceId - status - attemptNo - resultIdempotencyKey - outputHash - rawOutput - validatedOutput - schemaVersion - validationErrors - createdAt - updatedAt ## 索引要求 - job.status - job.jobType - job.userId - job.targetType + targetId - job.idempotencyKey unique - job.lockUntil - result.jobId unique ## 验收标准 1. 新增 AiRuntimeJob schema。 2. 新增 AiRuntimeResult schema。 3. 支持 job 与 result 一对一。 4. 支持 idempotencyKey 防重复。 5. 支持 pending job 查询索引。 6. 支持 lockUntil 超时扫描。 7. 支持 jobType / targetType 查询。 8. 提供 repository/service。 9. 提供基础状态流转测试。 10. 同一 job + attemptNo + outputHash 重复提交时幂等。 11. Admin 重跑应创建新 job,并记录 retriedFromJobId。 12. 同一 job 默认只允许一个 succeeded result。
wangdl added this to the M-API-AI-RUNTIME:API AI Runtime 调度与落库 milestone 2026-06-10 21:02:29 +08:00
Author
Owner

完成证据

产物: prisma/schema.prismamodel AiRuntimeJob + model AiRuntimeResult
提交: 6888fe1 feat: AI Runtime Prisma Schema (API-AI-004~010)

AiRuntimeJob 字段: id, userId, jobType, targetType, targetId, snapshotId, status, priority, idempotencyKey(unique), apiKeyMode, credentialId, modelProvider, modelName, promptVersion, outputSchemaVersion, attemptNo, retriedFromJobId, lockedBy, lockedAt, lockUntil, startedAt, finishedAt, retryCount, maxRetryCount, timeoutSeconds, errorCode, errorMessage

AiRuntimeResult 字段: id, jobId(unique), userId, runtimeInstanceId, status, attemptNo, resultIdempotencyKey, outputHash, rawOutput(JSON), validatedOutput(JSON), schemaVersion, validationErrors(JSON)

索引: job.status, jobType, userId, targetType+targetId, lockUntil, result.resultIdempotencyKey

## 完成证据 **产物**: `prisma/schema.prisma` — `model AiRuntimeJob` + `model AiRuntimeResult` **提交**: `6888fe1` feat: AI Runtime Prisma Schema (API-AI-004~010) **AiRuntimeJob 字段**: id, userId, jobType, targetType, targetId, snapshotId, status, priority, idempotencyKey(unique), apiKeyMode, credentialId, modelProvider, modelName, promptVersion, outputSchemaVersion, attemptNo, retriedFromJobId, lockedBy, lockedAt, lockUntil, startedAt, finishedAt, retryCount, maxRetryCount, timeoutSeconds, errorCode, errorMessage **AiRuntimeResult 字段**: id, jobId(unique), userId, runtimeInstanceId, status, attemptNo, resultIdempotencyKey, outputHash, rawOutput(JSON), validatedOutput(JSON), schemaVersion, validationErrors(JSON) **索引**: job.status, jobType, userId, targetType+targetId, lockUntil, result.resultIdempotencyKey
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#168
No description provided.