拉取 Outbox
Core API V1
GET 拉取 Outbox
下游服务拉取待投递内容,使用租约机制防止重复领取
GET
拉取 Outbox
下游服务(Ghost / Rocket.Chat)拉取待投递内容。Documentation Index
Fetch the complete documentation index at: https://docs.akria.net/llms.txt
Use this file to discover all available pages before exploring further.
核心特性
租约机制
自动标记为
leased,防止重复领取并发安全
使用
SELECT ... FOR UPDATE SKIP LOCKED 确保并发安全租约超时
过期的
leased 项可以重新拉取预格式化 Payload
直接可用于投递,无需额外处理
认证
此端点不需要 API Key 认证,可以直接访问。
请求参数
Path Parameters
| 参数 | 类型 | 必填 | 说明 | 可选值 |
|---|---|---|---|---|
channel | string | ✅ | 渠道名称 | ghost, rocketchat |
Query Parameters
| 参数 | 类型 | 必填 | 默认值 | 说明 | 范围 |
|---|---|---|---|---|---|
limit | integer | ❌ | 10 | 返回数量 | 1-100 |
lease_seconds | integer | ❌ | 60 | 租约时长(秒) | 1-3600 |
lease_owner | string | ❌ | null | 租约所有者(可选,默认随机生成) | 最大 64 字符 |
响应
成功响应(200 OK)
字段说明
字段说明
id: Outbox 记录 ID(用于 ACK)signal_id: 对应的信号 UUIDchannel: 渠道名称payload: 预格式化的内容(可以直接投递)lease_until: 租约过期时间lease_owner: 租约所有者
空响应(没有待处理项)
错误响应
400 Bad Request - 无效的 channel
400 Bad Request - 无效的 channel
使用示例
注意事项
租约机制
租约机制
- 租约过期:如果处理超时,租约过期后可以重新拉取
- 立即 ACK:处理完成后立即发送 ACK,释放资源
并发安全
并发安全
- 使用
SELECT ... FOR UPDATE SKIP LOCKED确保并发安全 - 多个 worker 可以同时拉取,不会重复处理同一项
最佳实践
最佳实践
定期拉取
建议每 10-30 秒拉取一次
控制数量
每次拉取 10-20 条,避免数据库压力
使用 lease_owner
便于追踪和调试
立即 ACK
处理完立即 ACK,不要等待租约过期
相关文档
团队使用手册
手把手教程,适合团队使用
ACK 确认
下游服务投递完成后发送 ACK 确认
创建信号
接收来自分析层的已审计信号
Authorizations
API 认证密钥
Path Parameters
渠道名称
Available options:
ghost, rocketchat Query Parameters
返回数量
Required range:
1 <= x <= 100租约时长(秒)
Required range:
1 <= x <= 3600租约所有者(可选)
Maximum string length:
64