Application Integration에 지원되는 커넥터를 참조하세요.

태스크의 오류 처리 전략

태스크의 오류 처리 전략은 일시적인 오류로 인해 태스크가 실패할 경우 수행할 태스크를 지정합니다.

오류 처리 전략 구성

태스크의 오류 처리 전략을 구성하려면 다음 단계를 따르세요.

  1. 통합 편집기에서 기존 태스크를 클릭합니다. 태스크 구성 창이 나타납니다.
  2. 태스크 구성 창에서 오류 처리 섹션을 펼칩니다. 다음 이미지는 오류 처리 섹션을 보여줍니다.

    오류 처리 전략 오류 처리 전략

    오류 처리 섹션에서 다음 단계를 따르세요.

    1. 새 실패 정책을 추가하려면 + 실패 정책 추가를 클릭합니다. 조건부 실패 정책이 여러 개 구성된 경우 순서대로 확인되고 일치합니다.
      1. 재시도 전략 필드에서 사용할 오류 처리 전략을 선택합니다. 전략 목록은 재시도 전략을 참고하세요.
      2. Retry condition(재시도 조건) 필드에 이 오류 전략이 실행되려면 오류와 일치해야 하는 조건을 입력합니다. 예를 들어 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"

AND 두 표현식을 확인하여 두 표현식 모두 true이면 true를 반환합니다. $a$ > $b$ AND $b$ < $c$
또는 두 표현식을 확인하여 표현식 중 하나라도 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 배열을 제외한 배열 변수 유형을 지원합니다.