Serverless工作流并行步骤(type:foreach)怎么做异常处理? 当我把errorMappings和catch节点放在foreach这一level的时候,会报错“Additional property catch is not allowed”和“Additional property errorMappings is not allowed”。而我把这两个节点放在内部循环步骤(type:task)这个level的时候,会报错“The goto target 'ParallelCallback' must be on the same level as the step 'TransToTargetFormat'.”
goto只能在同级的流程间跳转,你可以把错误处理的流程放到 foreach 内,此回答整理自钉群“【客】云客服(客服工作台)产品服务群-官方”
对于Serverless的并行步骤(type:foreach),异常处理的正确做法是在内部循环步骤(type:task)的level上进行处理。具体操作可以按照以下步骤进行:
1、在foreach的“itemsPath”节点中,指定需要循环的数据数组。
2、在foreach的“batchSize”节点中,指定每个批次需要处理的数据数量。
3、在foreach的“parallelization”节点中,指定并行处理的级别。
4、在foreach的内部循环步骤(type:task)的level上,添加“errorMappings”和“catch”节点进行异常处理。
5、在内部循环步骤(type:task)中,使用try-catch语句对可能发生异常的代码进行异常捕获和处理。
6、如果需要在内部循环步骤(type:task)中跳出整个并行步骤,则可以使用“goto”语句加上对应的跳转目标。
注意,需要将“goto”语句的目标放在并行步骤(type:foreach)的level上,而不能放在内部循环步骤(type:task)的level上,否则会报错“The goto target 'xxx' must be on the same level as the step 'xxx'.”。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。