进度流程
当一方希望_接收_某个请求的进度更新时,它会在请求元数据中包含progressToken。
- 进度 token MUST 是字符串或整数值
- 进度 token 可由发送方以任意方式选择,但 MUST 在所有活动请求中唯一。
- 原始进度 token
- 到目前为止的当前进度值
- 可选的 “total” 值
- 可选的 “message” 值
progress值 MUST 随每次通知递增,即使 total 未知。progress和total值 MAY 为浮点数。message字段 SHOULD 提供相关的人类可读进度信息。
行为要求
-
进度通知 MUST 仅引用符合以下条件的 token:
- 在活动请求中提供
- 与正在进行的操作相关联
-
进度请求的接收方 MAY:
- 选择不发送任何进度通知
- 以其认为适当的任意频率发送通知
- 在 total 值未知时省略该值
-
对于任务增强请求,原始请求中提供的
progressTokenMUST 在任务整个生命周期内继续用于进度通知,即使CreateTaskResult已经返回。进度 token 会保持有效并与任务关联,直到任务达到终止状态。- 任务的进度通知 MUST 使用初始任务增强请求中提供的同一个
progressToken - 任务达到终止状态(
completed、failed或cancelled)后,任务的进度通知 MUST 停止
- 任务的进度通知 MUST 使用初始任务增强请求中提供的同一个
实现说明
- 发送方和接收方 SHOULD 跟踪活动进度 token
- 双方 SHOULD 实现速率限制以防止泛洪
- 完成后,进度通知 MUST 停止