Durable Functions를 기반으로 하는 워크플로 디자인

완료됨

Durable Functions는 일련의 활동으로 장기 실행 워크플로를 오케스트레이션하는 데 사용할 수 있습니다. 프로세스의 각 단계는 함수 형식에, 각 작업은 활동에 매핑할 수 있습니다. 프로세스를 자동화한다는 것은 작업이 완료되지 않은 경우 수동으로 모니터링하거나 에스컬레이션하는 것에 대해 걱정할 필요가 없음을 의미합니다.

제안서 승인 프로세스의 자동화에 대해 계속 살펴보고 있으므로 이 프로세스의 한 단계가 제때 완료되지 않았는데 에스컬레이션되어야 하는 사례를 고려해야 합니다. 예를 들어, 특정 크기의 제안서에 대해 관리자의 승인이 필요하지만, 관리자가 바로 응답하지 않는 경우라면?

에스컬레이션 단계는 최종 기한에 도달했을 때 태스크를 이동하므로 비즈니스에 유용합니다. 태스크가 완료되었는지, 빠뜨린 태스크는 없는지 확인합니다. 에스컬레이션 단계에는 미리 알림 보내기 또는 관리 계층이 더 높은 사람에게 태스크 다시 할당하기가 포함될 수 있습니다.

이 단원에서는 Durable Functions를 기반으로 하는 승인 프로세스 워크플로를 디자인합니다. 다음 연습에서는 이 지식을 적용하여 Azure Durable Functions로 앱을 만듭니다.

디자인 승인 프로세스 설명

워크플로는 프로젝트 디자인이 승인을 위해 제출될 때 시작됩니다. 제안서는 승인 태스크로 관리자에게 할당됩니다. 관리자는 제안서를 승인하거나 거부합니다. 실제 환경에서는 이 이벤트가 제안서 작성자에게 승인/거부 요청 결과를 알려주는 알림을 생성하고 보낼 수 있습니다. 이 예제에서는 태스크의 상태를 approved 또는 rejected로 변경하기만 합니다.

워크플로 단계는 다음과 같습니다.

  1. 프로젝트 디자인이 제출됩니다.
  2. 프로젝트 디자인 제안서를 검토할 수 있도록 승인 태스크가 관리자에게 할당됩니다.
  3. 프로젝트 디자인 제안서가 거부되거나 승인됩니다.
  4. 승인 태스크가 사전 정의된 제한 시간 내에 완료되지 않은 경우 에스컬레이션 태스크가 할당됩니다.

다음 이미지는 오케스트레이션의 세 가지 함수인 요청 승인, 프로세스 승인 및 에스컬레이션 기능을 보여 주는 워크플로의 시각적 표현입니다.

오케스트레이션의 세 가지 함수를 보여 주는 워크플로의 시각적 표현입니다.

다음 표에는 Durable Functions 워크플로에서 사용하는 함수 형식으로 워크플로 단계를 매핑할 수 있는 방법이 나와 있습니다.

워크플로 함수 지속성 함수 형식
승인을 위한 프로젝트 디자인 제안서 제출 ‘클라이언트’ 함수
승인 태스크를 관련 직원에게 할당 ‘오케스트레이션’ 함수
승인 태스크 ‘활동’ 함수
에스컬레이션 태스크 ‘활동’ 함수

오케스트레이션 함수는 승인 활동이 지정된 시간 내에 반환되지 않을 경우 에스컬레이션 활동을 시작하는 워크플로의 규칙을 관리합니다.

워크플로에 필요한 것을 이해했으므로 다음 단원에서는 코드에서 이를 작성해보겠습니다!