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 를 기다립니다.
완료 콜백 이벤트가 수신되면 콜백 상태는 실행을 완료하고 다음 정의된 워크플로우 상태로 전환되거나 최종 상태인 경우 워크플로우 실행을 완료합니다.