Projektowanie przepływu pracy w oparciu o rozszerzenie Durable Functions

Ukończone

Przy użyciu rozszerzenia Durable Functions można orkiestrować długotrwały przepływ pracy jako zestaw działań. Każdy etap w procesie można zamapować na typ funkcji, a każde zadanie — na działanie. Posiadanie procesu zautomatyzowanego oznacza, że nie trzeba przejmować się ręcznym monitorowaniem czy eskalowaniem, gdy zadanie nie zostanie wykonane.

Ponieważ nadal myślimy o automatyzowaniu procesu zatwierdzania propozycji, musimy wziąć pod uwagę przypadki, gdy krok w procesie nie zakończy się w czasie i musi zostać eskalowany. Przykład: co zrobić, gdy potrzebujemy zatwierdzenia określonego rozmiaru propozycji przez menedżera, ale menedżer spóźnia się z odpowiedzią?

Kroki eskalacji są przydatne dla firmy, ponieważ przenoszą zadanie wraz z upływem terminu. Zapewniają one, że zadania są wykonywane i nie są zapomniane. Krok eskalacji może obejmować wysyłanie przypomnień, a nawet ponowne przypisanie zadania do kogoś wyższego w hierarchii menedżerskiej.

W ramach tej lekcji zaprojektujesz przepływ pracy procesu zatwierdzania oparty na rozszerzeniu Durable Functions. W następnym ćwiczeniu zastosujesz tę wiedzę, aby utworzyć aplikację przy użyciu usługi Azure Durable Functions.

Opis procesu zatwierdzania architektury

Nasz przepływ pracy rozpoczyna się po wysłaniu architektury projektu do zatwierdzenia. Propozycja jest przypisywana jako zadanie zatwierdzenia do menedżera. Menedżer zatwierdzi lub odrzuci propozycję. W świecie rzeczywistym to zdarzenie prawdopodobnie wygeneruje i wyśle powiadomienie do autora propozycji, aby poinformować ich o wyniku żądania zatwierdzenia/odrzucenia. W tym przykładzie po prostu zmienisz stan zadania na approved lub rejected.

Etapy przepływu pracy są następujące:

  1. Przesłanie projektu architektury.
  2. Zadanie zatwierdzania jest przydzielane menedżerowi, aby móc przejrzeć propozycję projektu.
  3. Odrzucenie lub zatwierdzenie propozycji architektury projektu.
  4. Przydzielenie zadania eskalacji, gdy zadanie zatwierdzenia nie zostanie ukończone we wstępnie zdefiniowanym czasie.

Na poniższej ilustracji przedstawiono wizualną reprezentację przepływu pracy przedstawiającą trzy funkcje w naszej aranżacji: zatwierdzenie żądania, zatwierdzenie procesu i funkcję eskalacji.

Wizualna reprezentacja przepływu pracy przedstawiająca trzy funkcje w naszej aranżacji.

W poniższej tabeli pokazano, jak można mapować etapy przepływu pracy na typy funkcji używane w przepływie pracy rozszerzania Durable Functions.

Funkcja przepływu pracy Typ w rozszerzeniu Durable Functions
Przesyłanie propozycji architektury projektu do zatwierdzenia Funkcja klienta
Przydzielanie zadania zatwierdzenia do odpowiedniego członka personelu Funkcja orkiestracji
Zadanie zatwierdzenia Funkcja działania
Zadanie eskalacji Funkcja działania

Funkcja orkiestracji będzie zarządzać w przepływie pracy regułą, która uruchamia działanie eskalacji, gdy działanie zatwierdzenia nie zwraca wyniku w określonym czasie.

Skoro już wiemy, co jest potrzebne do naszego przepływu pracy, w ramach następnej lekcji napiszmy to w kodzie.