dtm icon indicating copy to clipboard operation
dtm copied to clipboard

Feature Request:以更直观的 Concurrent 来表达并行

Open speedoops opened this issue 3 years ago • 1 comments

现在的并发是如下写法,其中用数字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)

speedoops avatar Dec 01 '22 03:12 speedoops

欢迎pr

yedf2 avatar Dec 01 '22 13:12 yedf2