package outbox import ( "context" "database/sql" orbit "git.yuntuo.hk/k2safe/orbit/sdk/go" ) // AcceptedHook 在最新租约确认事务内关联业务数据;可能在事务回滚/提交不明后再次调用。 // 必须同库、幂等、遵守 context,只做短 SQL;不能 Commit/Rollback,也不能发网络请求。 // record 是锁定后的发送记录,receipt 是本次已核验的受理回执,不是任务完成结果。 type AcceptedHook func(context.Context, *sql.Tx, Record, orbit.SubmitTaskResult) error // Options 在构造后固定,Store 可以在多个发送 goroutine 中复用。 type Options struct { // OnAccepted 可选的业务关联;为空时受理关系仅保存在 Outbox 的 TaskID/ReceiptJSON。 OnAccepted AcceptedHook }