dtm
dtm copied to clipboard
Feature Request:以更直观的 Concurrent 来表达并行
现在的并发是如下写法,其中用数字0、1、2……来表达顺序依赖:
saga := dtmcli.NewSaga(DtmServer, shortuuid.New()).
Add(Busi+"/CanRollback1", Busi+"/CanRollback1Revert", req).
Add(Busi+"/CanRollback2", Busi+"/CanRollback2Revert", req).
Add(Busi+"/UnRollback1", "", req).
Add(Busi+"/UnRollback2", "", req).
EnableConcurrent().
AddBranchOrder(2, []int{0, 1}). // 指定step 2,需要在0,1完成后执行
AddBranchOrder(3, []int{0, 1}) // 指定step 3,需要在0,1完成后执行
期望支持如下表达式,以更直观的 Concurrent 来表达并行:
saga := dtmcli.NewSaga(DtmServer, shortuuid.New()).
Concurrent(
Add(Busi+"/CanRollback1", Busi+"/CanRollback1Revert", req),
Add(Busi+"/CanRollback2", Busi+"/CanRollback2Revert", req)
).
Add(Busi+"/UnRollback1", "", req).
Add(Busi+"/UnRollback2", "", req)
欢迎pr