跳转至

生图任务

源码:src/backend/db/models/task.pytask_status_event.pyprompt_test_run.py 返回 总览 字段表格式:字段 | 中文名 | 类型 | 可空 | 作用

C 端生图任务主表 + 1:1 参数表 + 只追加状态审计;Admin Prompt 试跑记录独立落在 prompt_test_runs。任务状态枚举与合法转移见 backend.core.task_status.TaskStatus

ER

erDiagram
  users ||--o{ tasks : owns
  ai_models ||--o{ tasks : used
  tasks ||--o| task_params : params
  tasks ||--o{ task_status_events : audits
  tasks ||--o{ consumption_records : costs
  admin_users ||--o{ prompt_test_runs : runs
  ai_models ||--o{ prompt_test_runs : model

tasks — 生图任务

用户侧一次生成任务的生命周期记录。状态机字符串存库,不以 DB enum 约束。

字段 中文名 类型 可空 作用
id 任务 ID UUID NO 主键
user_id 用户 ID UUID NO FK→users.id CASCADE;任务归属用户
ai_model_id AI 模型 ID UUID YES FK→ai_models.id SET NULL;实际选用的物理模型;模型删除后可置空保留任务
task_type 任务类型 String(50) NO 业务场景类型(如主图、详情、复刻等)
status 任务状态 String(30) NO 默认 pending;取值:pending / running / completed / failed / cancelled(见 TaskStatus
progress 进度 SmallInteger NO 0–100 进度百分比;默认 0
result_url 结果地址 String(500) YES 成功时的结果资源 URL
error_message 错误信息 Text YES 失败原因摘要
started_at 开始时间 timestamptz YES 进入执行态的时刻
completed_at 完成时间 timestamptz YES 终态(成功/失败/取消)完成时刻
created_at 创建时间 timestamptz NO 行创建时间
updated_at 更新时间 timestamptz NO 行最后修改时间
deleted_at 删除时间 timestamptz YES 软删标记;非空表示已删除

task_params — 任务参数(1:1)

tasks 一对一;存放请求参数与模特生成属性等 JSON 快照。

字段 中文名 类型 可空 作用
id 参数行 ID UUID NO 主键
task_id 任务 ID UUID NO FK→tasks.id CASCADE唯一,保证与任务 1:1
params_json 任务参数 JSONB YES 生图请求参数快照(含批量 snapshot 等扩展字段)
model_gen_attrs_json 模特生成属性 JSONB YES 模特生成相关属性选择快照
created_at 创建时间 timestamptz NO 行创建时间(无 updated_at

task_status_events — 状态审计(只追加)

任务状态/镜头级事件时间线,供 Admin 回放;只追加不改写历史行。

字段 中文名 类型 可空 作用
id 事件 ID UUID NO 主键
task_id 任务 ID UUID NO FK→tasks.id CASCADE;有索引
job_id 批量 Job ID String(64) YES 关联 Redis/批量 Job 标识;有索引
item_index 镜头序号 Integer YES 批量任务中的条目/镜头下标
event_type 事件类型 String(32) NO 默认 status_change;取值:status_change / item_result / retry / note
from_status 原状态 String(30) YES 状态变更前的状态值
to_status 新状态 String(30) YES 状态变更后的状态值
reason 原因 String(200) YES 变更/重试/备注原因摘要
actor 操作者 String(80) YES 触发方标识(系统、worker、管理员等)
payload 事件载荷 JSONB YES 结构化扩展信息(镜头结果、调试字段等)
created_at 创建时间 timestamptz NO 事件写入时间;审计轴按此排序

prompt_test_runs — Admin Prompt 试跑

后台 Prompt 测试页的预览 / 生图 / 批量试跑记录,与 C 端 tasks 分离。

字段 中文名 类型 可空 作用
id 试跑 ID UUID NO 主键
admin_user_id 管理员 ID UUID YES FK→admin_users.id SET NULL;发起试跑的管理员;管理员删除后可置空
run_type 试跑类型 String(20) NO 业务类型字符串;常见:preview / generate / batch_generate
task_type 任务类型 String(50) NO 试跑对应的业务任务类型(与模板/场景对齐)
status 试跑状态 String(20) NO 运行结果状态;常见:success / failed(亦可扩展异步中间态)
params_json 入参快照 JSONB NO 试跑请求参数完整快照
assembled_prompt_json 组装 Prompt JSONB YES 拼装后的 Prompt/多段结构
result_json 结果快照 JSONB YES 试跑输出(含批量条目结果等)
ai_model_id AI 模型 ID UUID YES FK→ai_models.id SET NULL;试跑选用的物理模型
error_message 错误信息 Text YES 失败原因摘要
created_at 创建时间 timestamptz NO 行创建时间(无 updated_at