查看 Application Integration 支持的连接器

任务的错误处理策略

任务的错误处理策略指定当任务因暂时性错误而失败时要执行的操作。

配置错误处理策略

如需为任务配置错误处理策略,请按以下步骤操作:

  1. 点击集成编辑器中的现有任务。系统随即会显示任务配置窗格。
  2. 在任务配置窗格中,展开错误处理部分。下图显示了错误处理部分:

    错误处理策略 错误处理策略

    错误处理部分,按照以下步骤操作:

    1. 如需添加新的失败政策,请点击 + 添加失败政策。如果配置了多个基于条件的失败政策,系统会依次检查和匹配这些政策。
      1. 重试策略字段中,选择要使用的错误处理策略。如需查看策略列表,请参阅重试策略
      2. 重试条件字段中,输入必须与错误匹配的条件,以便执行此错误策略。例如,对于调用 REST 端点任务,如需在错误代码与 404 匹配时执行错误策略,请输入以下内容:
        $`ErrorInfo.code`$ = 404
        如需了解如何添加这些条件,请参阅重试条件
    2. 默认错误政策部分,添加在没有匹配的条件式失败政策时必须应用的默认政策。默认失败政策是可选的。
    3. 错误捕获器部分,为集成添加错误捕获器

如需了解错误代码和错误处理,请参阅错误处理

重试策略

下表介绍了您可以为任务使用的不同错误处理策略:

策略类型 说明
严重 停止执行整个集成,并将执行状态标记为失败
忽略 忽略任务失败。集成会假设失败的任务状态为成功,从而继续运行后续任务。
停止执行任务,并将集成状态标记为失败。如果存在最后一个任务(叶子任务)的备用路径,则系统会运行该替代路径中的任务。如果备用路径中的所有任务都成功运行,请将集成状态标记为成功
使用退避算法重启集成 从第一个任务开始运行整个集成。但是,任务可能会再次失败。为了避免重复失败,请在“重试间隔(以秒为单位)”字段中指定重启的时间间隔,并在“重试次数上限”字段中指定允许的重启尝试次数。
使用指数退避算法重试任务 从失败的任务运行集成。如果任务在重试期间失败,则每次重试尝试之间的时间间隔将增加 2 次幂。 退避时间会增加 1 到 5 秒的延迟。

例如,如果指定的重试间隔为 3 秒,则系统会在 3 秒后进行第一次重试。第二次重试会在 9 秒后进行,第三次重试会在 81 秒后进行,依此类推。此过程会一直持续,直到达到最大重试次数或任务成功(以较早者为准)。

使用固定时间间隔重试任务 从失败的任务运行集成。如果任务在重试期间失败,则每次重试尝试之间的时间间隔是恒定的。

例如,如果指定的重试间隔为 3 秒,则系统每 3 秒重试一次。此过程会一直持续,直到达到最大重试次数或任务成功(以较早者为准)。

使用线性退避算法重试任务 从失败的任务运行集成。如果任务在重试期间失败,则每次重试尝试之间的时间间隔会线性增加。 退避时间会增加 1 到 5 秒的延迟。

例如,如果指定的重试间隔为 3 秒,则系统会在 3 秒后进行第一次重试。第二次重试会在 6 秒后进行,第三次重试会在 9 秒后进行,依此类推。此过程会一直持续,直到达到最大重试次数或任务成功(以较早者为准)。

退避重试

默认并发数限制为每个项目和区域 50 次执行。失败的执行会加入队列,并使用指数退避算法重试,该算法会逐渐增加各次重试之间的等待时间(最多 10 次)。例如:

  1. 执行集成。
  2. 如果请求失败,请等待 10 分钟后再重试请求。
  3. 如果请求失败,请等待 20 分钟,然后重试请求。
  4. 如果请求失败,请等待 40 分钟后再重试请求。
  5. 依此类推,最多退避重试 10 次。

重试条件

重试条件指定了必须匹配的条件,以便执行错误处理策略。下表介绍了可在重试条件中使用的受支持运算符和函数:

支持的运算符

下表介绍了可在重试条件中使用的受支持运算符。

运算符 说明 示例
= 检查两个值是否相等 $var$ = "value"
!= 检查两个值是否不相等 $var$ != "value"
< 检查某个值是否小于另一个值 5 < 10
<= 检查某个值是否小于或等于另一个值 $var$ <= 5
> 检查某个值是否大于另一个值 1 > 0
>= 检查某个值是否大于或等于另一个值 $var$ >= 0
: 检查字符串是否包含子字符串,或者检查列表是否包含特定的原初值。

$longString$ : "substring"

$list of values$ : "value"

检查两个表达式,如果两个表达式的计算结果均为 true,则返回 true。 $a$ > $b$ AND $b$ < $c$
OR 检查两个表达式,如果任何一个表达式的计算结果为 true,则返回 true。 $a$ > $b$ OR $b$ < $c$
NOT 求反运算符。翻转表达式的结果。 NOT($var$ = "value")

支持的函数

下表介绍了可在重试条件中使用的支持的函数。

函数 说明
exists(VARIABLE) 检查给定变量是否存在
does_not_exist(VARIABLE) 检查给定变量不存在
is_empty(VARIABLE) 检查给定变量是否为列表并且是否为空。支持数组变量类型(JSON 数组除外)。
is_not_empty(VARIABLE) 检查给定变量是否为列表并且不为空。支持数组变量类型(JSON 数组除外)。