从 self-hosted Environment claim 一个可用 work item。
GET /api/v1/cloud/environments/{environment_id}/work/poll
从 self_hosted Environment claim 一个可用 work item。没有可用 work 时返回 HTTP 200 OK,响应体为 JSON null。
Poll 只表示投递 work item,不表示确认执行。worker 应在执行 Session work 前调用 Ack work item。
路径参数
|
参数 |
类型 |
说明 |
|
|
string |
Environment ID,前缀为 |
请求头
|
头部 |
必选 |
说明 |
|
|
是 |
|
|
|
否 |
稳定的 worker 标识。推荐传入,用于队列统计和 ack 身份校验 |
查询参数
|
参数 |
类型 |
必选 |
默认值 |
说明 |
|
|
integer |
否 |
- |
long poll 等待时间,单位毫秒。取值 1 到 999;省略时为非阻塞 poll |
|
|
integer |
否 |
5000 |
queued item 已投递但未 ack 超过该毫秒数后允许重新投递。必须为非负整数 |
示例请求
curl -X GET "https://api.qoder.com.cn/api/v1/cloud/environments/env_019e64e01a137caf953ac2ac7b42ec5c/work/poll?block_ms=999" \
-H "Authorization: Bearer $QODER_PAT" \
-H "Worker-ID: byoc-worker-01"
示例响应:有 work
HTTP 200 OK
{
"id": "work_019f3be4fd2475d9a784bf2c739e1194",
"type": "work",
"environment_id": "env_019e64e01a137caf953ac2ac7b42ec5c",
"data": {
"type": "session",
"id": "sess_019f3be3fa66750bb9a1fbcde85b5fe1"
},
"state": "queued",
"created_at": "2026-07-01T08:15:01Z",
"acknowledged_at": null,
"started_at": null,
"latest_heartbeat_at": null,
"stop_requested_at": null,
"stopped_at": null,
"metadata": {}
}
示例响应:无 work
HTTP 200 OK
null
响应字段
返回 Work item 对象;没有可用 item 时返回 null。
错误码
|
HTTP |
type |
触发条件 |
|
400 |
|
|
|
400 |
|
|
|
400 |
|
Environment 不是 |
|
401 |
|
PAT 无效或过期 |
|
403 |
|
无权限执行此操作 |
|
404 |
|
Environment 不存在 |
完整错误信封格式见 错误参考。
注意事项
-
Worker-ID是 worker 自定义的业务标识,不是认证凭据。 -
如果 poll 和 ack 都传入
Worker-ID,且两次值不一致,ack 会返回 409。 -
long poll 最多等待一次
block_ms;收到null后客户端应继续下一轮 poll。