跳到主要内容

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."
}

请求字段

字段类型必填说明
statusenum新任务状态
progressnumber0.01.0 的进度值
result_summarystring人类可读的结果摘要

返回

更新接口会返回最新的 L3Task 对象。

实践说明

  • status 对应 memorose-common 里的 TaskStatus 枚举。
  • 已完成任务可能会把结果重新沉积回事件流。
  • ready 任务不只是 pending 任务,而是“依赖已经满足的 pending 任务”。

相关页面