Durable Functions를 기반으로 하는 워크플로 디자인
Durable Functions는 일련의 활동으로 장기 실행 워크플로를 오케스트레이션하는 데 사용할 수 있습니다. 프로세스의 각 단계는 함수 형식에, 각 작업은 활동에 매핑할 수 있습니다. 프로세스를 자동화한다는 것은 작업이 완료되지 않은 경우 수동으로 모니터링하거나 에스컬레이션하는 것에 대해 걱정할 필요가 없음을 의미합니다.
제안서 승인 프로세스의 자동화에 대해 계속 살펴보고 있으므로 이 프로세스의 한 단계가 제때 완료되지 않았는데 에스컬레이션되어야 하는 사례를 고려해야 합니다. 예를 들어, 특정 크기의 제안서에 대해 관리자의 승인이 필요하지만, 관리자가 바로 응답하지 않는 경우라면?
에스컬레이션 단계는 최종 기한에 도달했을 때 태스크를 이동하므로 비즈니스에 유용합니다. 태스크가 완료되었는지, 빠뜨린 태스크는 없는지 확인합니다. 에스컬레이션 단계에는 미리 알림 보내기 또는 관리 계층이 더 높은 사람에게 태스크 다시 할당하기가 포함될 수 있습니다.
이 단원에서는 Durable Functions를 기반으로 하는 승인 프로세스 워크플로를 디자인합니다. 다음 연습에서는 이 지식을 적용하여 Azure Durable Functions로 앱을 만듭니다.
디자인 승인 프로세스 설명
워크플로는 프로젝트 디자인이 승인을 위해 제출될 때 시작됩니다. 제안서는 승인 태스크로 관리자에게 할당됩니다. 관리자는 제안서를 승인하거나 거부합니다. 실제 환경에서는 이 이벤트가 제안서 작성자에게 승인/거부 요청 결과를 알려주는 알림을 생성하고 보낼 수 있습니다. 이 예제에서는 태스크의 상태를 approved
또는 rejected
로 변경하기만 합니다.
워크플로 단계는 다음과 같습니다.
- 프로젝트 디자인이 제출됩니다.
- 프로젝트 디자인 제안서를 검토할 수 있도록 승인 태스크가 관리자에게 할당됩니다.
- 프로젝트 디자인 제안서가 거부되거나 승인됩니다.
- 승인 태스크가 사전 정의된 제한 시간 내에 완료되지 않은 경우 에스컬레이션 태스크가 할당됩니다.
다음 이미지는 오케스트레이션의 세 가지 함수인 요청 승인, 프로세스 승인 및 에스컬레이션 기능을 보여 주는 워크플로의 시각적 표현입니다.
다음 표에는 Durable Functions 워크플로에서 사용하는 함수 형식으로 워크플로 단계를 매핑할 수 있는 방법이 나와 있습니다.
워크플로 함수 | 지속성 함수 형식 |
---|---|
승인을 위한 프로젝트 디자인 제안서 제출 | ‘클라이언트’ 함수 |
승인 태스크를 관련 직원에게 할당 | ‘오케스트레이션’ 함수 |
승인 태스크 | ‘활동’ 함수 |
에스컬레이션 태스크 | ‘활동’ 함수 |
오케스트레이션 함수는 승인 활동이 지정된 시간 내에 반환되지 않을 경우 에스컬레이션 활동을 시작하는 워크플로의 규칙을 관리합니다.
워크플로에 필요한 것을 이해했으므로 다음 단원에서는 코드에서 이를 작성해보겠습니다!