6.2. 콜백
콜백 상태는 작업을 수행하고 워크플로우를 다시 시작하기 전에 작업 결과로 생성되는 이벤트를 기다립니다. 콜백 상태에 의해 수행되는 작업은 비동기 외부 서비스 호출입니다. 따라서 콜백 상태는 fire&wait-for-result
작업을 수행하는 데 적합합니다.
워크플로 관점에서 비동기 서비스는 작업이 완료될 때까지 기다리지 않고 제어가 호출자로 즉시 반환됨을 나타냅니다. 작업이 완료되면 워크플로우를 다시 시작하기 위해 CloudEvent
가 게시됩니다.
JSON 형식의 콜백 상태 예
{ "name": "CheckCredit", "type": "callback", "action": { "functionRef": { "refName": "callCreditCheckMicroservice", "arguments": { "customer": "${ .customer }" } } }, "eventRef": "CreditCheckCompletedEvent", "timeouts": { "stateExecTimeout": "PT15M" }, "transition": "EvaluateDecision" }
YAML 형식의 콜백 상태 예
name: CheckCredit type: callback action: functionRef: refName: callCreditCheckMicroservice arguments: customer: "${ .customer }" eventRef: CreditCheckCompletedEvent timeouts: stateExecTimeout: PT15M transition: EvaluateDecision
action
속성은 외부 활동 또는 서비스를 트리거하는 함수 호출을 정의합니다. 작업이 실행된 후 콜백 상태는 호출된 서비스에서 수동 결정을 완료했음을 나타내는 CloudEvent
를 기다립니다.
완료 콜백 이벤트가 수신되면 콜백 상태는 실행을 완료하고 다음 정의된 워크플로우 상태로 전환되거나 최종 상태인 경우 워크플로우 실행을 완료합니다.