【发布时间】:2019-12-31 15:18:53
【问题描述】:
在节奏工作流活动中,在迭代多个实体时存储当前光标位置的最佳做法是什么?这将允许工作流在发生故障时从最后一个光标处开始。
存储当前光标的正确方法是什么? 我们是否应该定期continue as new 使用当前光标?
func createReports(ctx context.Context, arg1 string, arg2 int) error {
cursor := ""
for {
result, err := someService.GetContracts(ctx, nil, cursor, 100)
if err != nil {
return err
}
for _, c := range result.Contracts {
err := aChildWorkflow.StartPipeline(ctx, arg1, arg2)
if err != nil {
return err
}
}
if !result.HasMore {
break
}
cursor = result.NextCursor
}
return nil
}
【问题讨论】:
标签: cadence-workflow