Tasks API
Memorose 把 L3 当作任务与目标执行表面对外暴露,而不是藏在内部 worker 后面。
这些路由解决什么问题
当你需要做这些事时,就应该使用 Tasks API:
- 查看某条 stream 的任务树
- 查看某个用户的全部目标树
- 拉取 ready 状态任务
- 在执行完成后回写任务状态
接口
| 方法 | 路径 | 作用 |
|---|---|---|
GET | /v1/users/:user_id/streams/:stream_id/tasks/tree | 返回单个 stream 的目标树 |
GET | /v1/users/:user_id/tasks/tree | 返回某个用户的全部目标树 |
GET | /v1/users/:user_id/tasks/ready | 返回依赖已满足的可执行任务 |
PUT | /v1/users/:user_id/tasks/:task_id/status | 更新单个任务 |
状态更新请求
PUT /v1/users/user_123/tasks/11111111-1111-1111-1111-111111111111/status
Authorization: Bearer <token>
Content-Type: application/json
{
"status": "Completed",
"progress": 1.0,
"result_summary": "Released the synchronized bilingual docs set."
}
请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
status | enum | 是 | 新任务状态 |
progress | number | 否 | 0.0 到 1.0 的进度值 |
result_summary | string | 否 | 人类可读的结果摘要 |
返回
更新接口会返回最新的 L3Task 对象。
实践说明
status对应memorose-common里的TaskStatus枚举。- 已完成任务可能会把结果重新沉积回事件流。
ready任务不只是 pending 任务,而是“依赖已经满足的 pending 任务”。