GET https://ark.cn-beijing.volces.com/api/v3/environments/{environment_id}/work/poll
自托管 Worker 按以下顺序处理 Work:
-
拉取待执行 Work。
-
调用认领 Work 接口。
-
执行期间定期续租 Work。
-
完成或终止任务时停止 Work。
本接口负责长轮询拉取待执行 Work:
- 命中时,返回仍为
queued的 Work。 - 未命中、长轮询到期或请求在等待期间结束时,返回 HTTP 200 和空对象
{}。 - 客户端根据响应中是否存在
id判断是否获取到 Work。
拉取到 Work 仅表示临时获取。请立即调用认领 Work 接口。
超过认领超时阈值(reclaim_older_than_ms)仍未认领时,该 Work 可被其他 Worker 再次获取。
鉴权#
本接口支持鉴权方式如下,详情请参见 Base URL 及鉴权。
- API Key 鉴权,请在 API Key 管理 页面,获取长效 API Key。
请求参数#
Path 参数#
environment_id string 必选 | 环境 ID
要操作的 Environment ID,以 env- 开头。填写创建环境或查询环境列表接口取得的 ID。
Query 参数#
在 URL Query String 中传入。
block_ms integer 默认值 0 | 长轮询等待时间
没有可分配 Work 时服务端继续等待的最长时间,单位为毫秒;省略或传非正数时不等待,无 Work 则返回 HTTP 200 和空对象 {}。取值 1~999,大于 999 按 999 处理。
reclaim_older_than_ms integer 默认值 5000 | 认领超时阈值
拉取 Work 后等待完成认领的时长,单位为毫秒;超时未认领时,其他 Worker 可再次获取该 Work。
Header 参数#
在 HTTP 请求头中传入。
Ark-Worker-ID string | Worker 实例 ID
发起本次 Work 拉取请求的 Worker 实例 ID。认领完成前,同一 ID 再次发起请求时,服务端会优先返回此前获取的 Work。
响应参数#
acknowledged_at string | 认领时间
Work 被 Worker 成功认领的时间,格式为 RFC 3339;尚未认领时不返回该字段。
created_at string | 创建时间
服务端创建 Work 时记录的时间,格式为 RFC 3339。
data object | 工作载荷
Work 对应的 Session 信息。
id string | Session ID
data.id
Work 对应的 Session ID,可用于调用 Session 相关接口。
type string | 载荷类型
data.type
当前固定为 session,表示 data.id 指向一个 Session。
environment_id string | 环境 ID
Work 所属的环境 ID,以 env- 开头。
id string | Work 标识符
Work ID,以 sesn- 开头。
latest_heartbeat_at string | 最近心跳时间
服务端最近一次接受 Work 心跳的时间,格式为 RFC 3339;尚未收到心跳时不返回该字段。
started_at string | 开始时间
Work 开始执行的时间,格式为 RFC 3339;尚未开始执行时不返回该字段。
state string | 当前状态
命中 Work 时固定为 queued,表示该 Work 正在等待完成认领。
stop_requested_at string | 停止请求时间
服务端首次处理停止 Work 请求的时间,格式为 RFC 3339。未调用停止 Work 接口,或 Work 因心跳租约超时停止时,不返回该字段。
stopped_at string | 停止时间
Work 进入 stopped 状态的时间,格式为 RFC 3339;尚未停止时不返回该字段。
tags object[] | 资源标签
与当前 Work 关联的资源标签列表。
key string | 标签键
tags.key
资源标签的键,用于标识当前 Work 关联的标签。
value string | 标签值
tags.value
资源标签的值,用于描述当前 Work 在该标签键下的取值;未设置值时不返回该字段。
type string | 对象类型
类型标识,固定为 work。
updated_at string | 更新时间
Work 最近一次状态迁移的时间,格式为 RFC 3339。