1.9 KiB
1.9 KiB
队列接口 v1
状态:P1 已实现创建与查询。更新、暂停、实际派发并发与速率控制随 P2–P3 实现;当前参数是后续执行所需的持久化配置。
POST /v1/queues
需要 queues:manage 和当前命名空间内全部队列范围。鉴权、请求体、幂等键及错误信封与 任务接口 一致。
| 字段 | 类型 | 要求 |
|---|---|---|
| name | string | 1–128 字符,以 ASCII 字母/数字开头,其后允许字母、数字、_ . : -;命名空间内唯一 |
| max_concurrency | uint32 | 必填,1–100000 |
| rate_per_second | uint32 | 必填,1–1000000 |
curl "$ORBIT_URL/v1/queues" \
-H "Authorization: Bearer $ORBIT_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: queue-images-v1' \
--data '{"name":"images","max_concurrency":8,"rate_per_second":100}'
首次 201:
{
"request_id":"44444444444444444444444444444444",
"data":{
"deduplicated":false,
"queue":{
"id":"11111111111111111111111111111111",
"namespace_id":"33333333333333333333333333333333",
"name":"images","paused":false,"max_concurrency":8,"rate_per_second":100,"revision":"1"
}
}
}
同键同内容返回 200、deduplicated=true。同键不同内容返回 409 IDEMPOTENCY_CONFLICT;换键创建同名队列返回 409 STATE_CONFLICT。创建、幂等记录和管理审计同事务提交。
SDK:Client.CreateQueue(ctx, key, orbit.CreateQueueRequest{...})。
GET /v1/queues/{queue_id}
权限:queues:read 和对应队列范围。200 的 data 直接为上方 queue 对象;资源不存在或单资源范围不匹配返回 404。
curl "$ORBIT_URL/v1/queues/$ORBIT_QUEUE_ID" -H "Authorization: Bearer $ORBIT_TOKEN"
SDK:Client.GetQueue(ctx, queueID)。范围限制、重复创建和同名冲突已纳入 P1 回归。这些配置上限不是生产容量承诺。