延长 self-hosted work item 的 lease。
POST /api/v1/cloud/environments/{environment_id}/work/{work_id}/heartbeat
为 work item 发送 heartbeat,并延长 worker lease。第一次成功 heartbeat 会将 starting item 推进到 active。
建议使用 expected_last_heartbeat 做乐观 lease 所有权校验。如果该 item 已被其他 worker 接管,接口会返回 412。
路径参数
|
参数 |
类型 |
说明 |
|
|
string |
Environment ID,前缀为 |
|
|
string |
Work item ID,前缀为 |
请求头
|
头部 |
必选 |
说明 |
|
|
是 |
|
查询参数
|
参数 |
类型 |
必选 |
说明 |
|
|
string |
否 |
|
|
|
integer |
否 |
期望的 lease TTL。必须为正整数;服务端会将接受值限制在 10 到 600 秒范围内 |
示例请求
curl -X POST "https://api.qoder.com.cn/api/v1/cloud/environments/env_019e64e01a137caf953ac2ac7b42ec5c/work/work_019f3be4fd2475d9a784bf2c739e1194/heartbeat?expected_last_heartbeat=NO_HEARTBEAT&desired_ttl_seconds=60" \
-H "Authorization: Bearer $QODER_PAT"
示例响应
HTTP 200 OK
{
"type": "work_heartbeat",
"last_heartbeat": "2026-07-01T08:15:06.120394Z",
"lease_extended": true,
"state": "active",
"ttl_seconds": 60
}
响应字段
返回 Work heartbeat 对象。
错误码
|
HTTP |
type |
触发条件 |
400 |
|
|
400 |
|
|
400 |
|
Environment 不是 |
401 |
|
PAT 无效或过期 |
403 |
|
无权限执行此操作 |
404 |
|
Environment 或 work item 不存在 |
409 |
|
Work item 为 queued 或 stopped,不能 heartbeat |
412 |
|
|