跳转到主要内容
Work API 用于连接 self_hosted Environment 的外部 worker。worker 通过 poll 获取 Session work,ack 确认执行,heartbeat 维持租约,并在完成或需要中止时 stop。

Work item 对象

list、poll、get、update metadata、ack 和 stop 接口都会返回该对象。
字段类型说明
idstringWork item ID,前缀为 work_
typestring固定为 "work"
environment_idstringEnvironment ID,前缀为 env_
dataobjectWork payload 描述
data.typestring当前固定为 "session"
data.idstringSession ID,前缀为 sess_
statestringWork item 状态,见 Work 状态
created_atstring创建时间,UTC
acknowledged_atstring|nullworker ack 的时间;未 ack 时为 null
started_atstring|null第一次 heartbeat 将 item 推进到 active 的时间;未开始时为 null
latest_heartbeat_atstring|null最近一次 heartbeat 时间;首次 heartbeat 前为 null
stop_requested_atstring|nullgraceful stop 请求时间;未请求时为 null
stopped_atstring|null到达 stopped 的时间;仍 live 时为 null
metadataobject与 work item 关联的仅字符串 metadata

Work 状态

状态说明
queuedwork item 可被 poll;或已投递但尚未 ack
startingworker 已 ack,应开始执行
activeworker 已发送 heartbeat,并持有当前 lease
stopping已请求 graceful stop;worker 应 drain 并确认 stop
stoppeditem 已不再 live,不能再 heartbeat

Work metadata

Work metadata 是仅字符串 map。Session 创建 work item 时,Session metadata 会被投影到该字符串 map。使用 更新 work item metadata 合并修改:
  • 字符串值表示 upsert key。
  • null 表示删除 key。
  • 省略 metadata 会保留当前 metadata 不变。

Work heartbeat 对象

发送 work heartbeat 返回该对象。
字段类型说明
typestring固定为 "work_heartbeat"
last_heartbeatstring服务端接受 heartbeat 的时间戳
lease_extendedboolean成功 heartbeat 时固定为 true
statestringheartbeat 后的当前 work item 状态
ttl_secondsinteger当前 lease TTL,单位秒

Work queue stats 对象

获取 work 队列统计 返回该对象。
字段类型说明
typestring固定为 "work_queue_stats"
depthinteger当前可被 worker claim 的 queued item 数
pendinginteger最近已投递但尚未 ack 的 queued item 数
oldest_queued_atstring|null最早 queued item 的创建时间;队列为空时为 null
workers_pollinginteger最近 30 秒内携带 Worker-ID 轮询过该 Environment 的不同 worker 数

相关

云端环境

选择 Agent 运行的容器、网络与依赖。