정지 태스크

정지 태스크를 사용하면 통합 실행을 일시적으로 중지했다가 재개할 수 있습니다.

통합 실행 중에 컨트롤이 정지 태스크에 도달하면 실행이 중지되고 정지 태스크 이후의 모든 태스크가 정지됩니다. 다음 이벤트 중 하나가 발생하면 통합에서 실행을 재개합니다.

  • 지정된 정지 시간 만료
  • Suspensions API에서 재개 실행 요청 수신 후

또한 정지 태스크의 출력 변수(정지 결과)를 구성하고 임의의 값으로 설정한 다음 이 값을 사용하여 다운스트림 태스크를 실행하기 위한 분기 조건을 만들 수 있습니다.

승인 태스크, 정지 태스크, 타이머 태스크 비교

세 가지(승인, 일시중지, 타이머) 태스크는 통합 일시중지 및 재개와 비슷한 기능을 수행합니다. 하지만 미묘한 차이가 있습니다. 다음 표에서는 세 가지 태스크의 차이점을 설명합니다.

승인 태스크 정지 태스크 타이머 태스크
통합의 자동 재개를 지원하지 않으며 통합을 재개하려면 수동으로 개입해야 합니다. 통합의 수동 및 자동 재개를 모두 지원합니다. 수동으로 개입하여 일시중지를 취소하지 않으면 통합은 일시중지 시간 제한이 만료된 후에 자동으로 재개를 실행합니다. 통합 자동 재개만 지원합니다. 일시중지 제한 시간이 만료되면 통합 실행이 자동으로 재개됩니다.
API 호출을 통해 통합을 재개할 수 없습니다. 통합 UI를 사용하여 일시중지를 수동으로 해결해야 합니다. 통합에 Suspensions API를 사용하여 통합을 재개할 수 있습니다. 통합 자동 재개만 지원합니다.
통합이 일시중지(정지)되면 사용자에게 알림이 전송됩니다. 통합이 일시중지(정지)되면 사용자에게 알림이 전송되지 않습니다. 통합이 일시중지(정지)되면 사용자에게 알림이 전송되지 않습니다.
통합을 재개하기 전에 조건부 검사를 수행할 수 있는 출력 변수(부울)를 지원합니다. 그러나 출력 변수에는 true 또는 false 값만 있을 수 있습니다. 통합을 재개하기 전에 조건부 검사를 수행할 수 있는 출력 변수(문자열)를 지원합니다. 임의의 값을 출력 변수로 설정할 수 있습니다. 출력 변수를 지원하지 않습니다.

정지 태스크 구성

정지 태스크를 구성하려면 다음 단계를 수행합니다.

  1. Apigee UI에서 Apigee 조직을 선택합니다.
  2. 개발 > 통합을 클릭합니다.
  3. 기존 통합을 선택하거나 통합 만들기를 클릭하여 새 통합을 만듭니다.

    새 통합을 만드는 경우:

    1. 통합 만들기 대화상자에 이름과 설명을 입력합니다.
    2. 지원되는 리전 목록에서 통합에 대한 리전을 선택합니다.
    3. 만들기를 클릭합니다.

    통합 디자이너 페이지에서 통합이 열립니다.

  4. 통합 설계자 탐색 메뉴에서 +태스크/트리거 추가 > 태스크를 클릭하여 사용 가능한 태스크 목록을 봅니다.
  5. 정지 태스크 요소를 클릭하고 통합 편집기에 배치합니다.
  6. 디자이너에서 정지 태스크 요소를 클릭하여 정지 태스크 구성 창을 봅니다.
  7. 다음 표의 설명대로 태스크의 구성 속성을 사용하여 나머지 필드를 구성합니다.

    모든 변경사항은 자동으로 저장됩니다.

구성 속성

다음 표에서는 정지 태스크의 구성 속성을 설명합니다.

속성 데이터 유형 설명
Suspension Time 정수 통합 실행이 정지되어야 하는 시간(분)입니다. 최대 시간 제한은 44640분(31일)이며 기본값이기도 합니다.

통합 실행이 지정된 제한 시간 내에 재개되지 않으면 제한 시간이 만료된 후 통합에서 자동으로 실행을 재개하고 Suspension result 변수 값을 Expired로 설정합니다.

Suspension result 문자열 정지 태스크 결과를 저장하는 변수입니다. 값을 이 변수로 설정하는 것은 선택사항입니다. 이 변수를 요구사항에 따라 어떠한 값으로도 설정할 수 있습니다. 이 변수는 통합 실행 흐름을 보다 세밀하게 제어하려는 경우에 유용합니다. 예를 들어 정지 결과를 읽고 모든 다운스트림 태스크의 값을 기준으로 조건부 결정을 구성할 수 있습니다.
Suspension Id 문자열 정지 태스크의 고유 식별자입니다. 이 변수 값은 통합이 정지된 직후에 설정됩니다. 통합 UI의 실행 로그 페이지에서 식별자 값을 가져올 수 있습니다. API를 사용하여 통합을 트리거하면 API의 응답 객체에서 식별자 값을 가져올 수도 있습니다.

정지 ID를 사용하거나 통합의 실행 ID를 사용하여 통합 실행을 재개할 수 있습니다.

Suspensions API로 정지 취소

정지 API를 사용하면 API 호출을 통해 정지를 취소할 수 있습니다. 정지 API로 정지를 취소하려면 통합 실행 ID나 정지 태스크의 정지 ID가 있어야 합니다. 정지를 취소하려면 다음 API에 POST 요청을 발행해야 합니다.

https://REGION-integrations.googleapis.com/v1/{name=projects/PROJECT/locations/LOCATION/integrations/INTEGRATION_ID/executions/EXECUTION_ID/suspensions/SUSPENSION_ID}:lift
    

이 API에서 INTEGRATION_ID 제공은 선택사항입니다. 하지만 EXECUTION_ID 또는 SUSPENSION_ID를 제공해야 합니다. ID 값이 없으면 값을 -로 대체할 수 있습니다. 이 API에서 REGION, PROJECT, LOCATION은 필수 필드입니다.

정지를 취소하면 통합 실행이 재개되고 정지 태스크 이후의 다운스트림 태스크가 실행됩니다.

다음 예시에서는 suspensions API를 사용하여 정지를 취소하는 방법을 보여줍니다.

예시 1: 정지 ID만 사용한 정지 취소

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"Approved"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/-/suspensions/c6a13a79-a918-41e2-82b9-32b5a010755a:lift

이 예시에서 Suspension result 변수는 정지 ID c6a13a79-a918-41e2-82b9-32b5a010755a에 대해 Approved로 설정됩니다.

예시 2: 실행 ID만 사용한 정지 취소

다음 curl 명령어에서는 실행 ID만 있을 때 정지를 취소하는 방법을 보여줍니다.

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"true"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/76a391e7-c801-45d7-8046-eab20d167ec5/suspensions/-:lift

이 예시에서 Suspension result 변수는 실행 ID 76a391e7-c801-45d7-8046-eab20d167ec5에 대해 true로 설정됩니다.

예시 3: 실행 ID와 정지 ID 모두를 사용한 정지 취소

다음 curl 명령어는 실행 ID와 정지 ID가 모두 있는 경우에 정지를 취소하는 방법을 보여줍니다.

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"{processname: "Release", owner: "John", status: "approved"};"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/9b721baa-0a23-4576-b2b6-d251d163ea6f/suspensions/f01815bf-ed18-4e01-9d41-cc2ce7861e95:lift

이 예시에서 Suspension result 변수는 정지 ID f01815bf-ed18-4e01-9d41-cc2ce7861e95에 대해 {processname: "Release", owner: "John", status: "approved"};로 설정됩니다.

오류 처리 전략

태스크의 오류 처리 전략은 일시적인 오류로 인해 태스크가 실패할 경우 수행할 태스크를 지정합니다. 오류 처리 전략을 사용하는 방법과 다양한 유형의 오류 처리 전략에 대한 자세한 내용은 오류 처리 전략을 참조하세요.