wenting zhang
有个重试场景想请教:Agent 向 Busabase 提交变更后,网络超时,没拿到返回的 ID。请求可能已经到了服务端,直接重试又担心 Inbox 里出现两份相同的待审核变更。
这种情况有没有推荐的核对办法?能不能带一个自己生成的任务编号查回这次提交,或者让同一次提交的重试只产生一份变更?
有个重试场景想请教:Agent 向 Busabase 提交变更后,网络超时,没拿到返回的 ID。请求可能已经到了服务端,直接重试又担心 Inbox 里出现两份相同的待审核变更。
这种情况有没有推荐的核对办法?能不能带一个自己生成的任务编号查回这次提交,或者让同一次提交的重试只产生一份变更?

网络超时不代表提交失败:请求可能已经在服务端创建成功,只是返回结果没到 Agent。因此,不建议直接换一个任务编号再次提交。
Busabase 的记录类变更接口支持在请求体中传入 idempotencyKey(幂等键),用于避免同一次提交因重试产生重复的 Change Request:
可以使用自己的任务编号,例如 crm-import:task-123:batch-1,并保存对应请求内容。重试时保持同一 Base、同一提交身份、同一个键及相同内容,不要每次重新生成键。
如果第一次已经创建成功,服务端会返回原来的 Change Request,而不是再创建一份。拿到 ID 后,再核对它的实际状态;它可能仍在待审核,也可能已经合并。
在 Inbox 或变更请求列表中,结合目标 Base、提交人、时间、说明和具体操作查找,同时检查是否已有合并结果。待审核列表里没看到,并不能证明提交失败。 如果仍无法确认,先暂停重复提交;事后补一个幂等键,不能自动关联并去重首次无键的请求
Sign in to join the discussion. Reading is always open; you only need an account to post.
Sign in