数据工坊 DWR-“无限循环”触发工作流如何处理?:场景1:触发器源桶和函数执行输出目标桶是同一个桶的无限循环

时间:2025-02-12 15:00:55

场景1:触发器源桶和函数执行输出目标桶是同一个桶的无限循环

案例1:使用DWR内置函数触发“无限循环”

用户创建一条工作流workflowA,在工作流中使用了内置的“媒资转码”函数,且配置“媒资转码”函数的转码输出桶为桶A。然后,在桶A上配置触发器关联工作流workflowA。如果自定义函数输出的对象前缀或后缀匹配触发器triggerA的前后缀条件(比如:前缀和后缀不配置,或者对象满足触发器条件),则转码的输出会再次触发工作流,从而导致用户工作流不停的执行,出现“无限循环”。

图1 工作流配置workflowA
图2 工作流触发器triggerA配置

案例2:自定义函数触发“无限循环”

用户创建一条工作流workflowA,在工作流中使用了自定义函数,且自定义函数会向桶A输出对象。然后,在桶A上配置触发触发器triggerA关联工作流workflowA。如果自定义函数输出的对象前缀或后缀匹配触发器triggerA的前后缀条件(比如:前缀和后缀不配置,或者对象满足触发器条件),则自定义函数的输出会再次触发工作流,从而导致用户工作流不停的执行,出现“无限循环”。

图3 工作流配置workflowA
图4 触发器配置triggerA

后缀.mp4可以匹配所有后缀是mp4的对象。

support.huaweicloud.com/dwr_faq/dwr_05_0001.html