POST /api/v1/cloud/environments/{environment_id}/work/{work_id}/ack
确认一个已投递的 work item,并将其从 queued 推进到 starting。worker 应在 poll 后、执行 Session work 前调用该接口。
对已经处于 starting 或 active 的 item,ack 可安全重试。对 stopping 或 stopped item,ack 会冲突。
路径参数
| 参数 | 类型 | 说明 |
|---|---|---|
environment_id | string | Environment ID,前缀为 env_ |
work_id | string | Work item ID,前缀为 work_ |
请求头
| 头部 | 必选 | 说明 |
|---|---|---|
Authorization | 是 | Bearer $QODER_PAT |
Worker-ID | 否 | 稳定的 worker 标识。如果 poll 已记录了不同的 Worker-ID,ack 会返回 409 |
示例请求
示例响应
HTTP 200 OK响应字段
返回已 ack 的 Work item 对象。错误码
| HTTP | type | 触发条件 |
|---|---|---|
| 400 | invalid_request_error | Environment 不是 self_hosted |
| 401 | authentication_error | PAT 无效或过期 |
| 403 | permission_error | 无权限执行此操作 |
| 404 | not_found_error | Environment 或 work item 不存在 |
| 409 | invalid_request_error | Work item 已被其他 worker claim、状态并发变化,或已处于 stopping/stopped |
注意事项
- ack 后,第一次 heartbeat 通常使用
expected_last_heartbeat=NO_HEARTBEAT。 - ack 会触发一次即时 dispatch,让 work 无需等待下一次 dispatcher tick 即可继续。
相关
云端环境
选择 Agent 运行的容器、网络与依赖。