Utforma ett arbetsflöde baserat på Durable Functions

Slutförd

Du kan använda Durable Functions för att orkestrera ett långvarigt arbetsflöde som en uppsättning aktiviteter. Du kan mappa varje steg i processen till en funktionstyp och varje uppgift till en aktivitet. Med en automatiserad process behöver du inte bekymra dig om att manuellt övervaka eller eskalera en uppgift om den inte är klar.

När vi fortsätter att tänka på att automatisera processen för godkännande av förslag måste vi överväga de fall då ett steg i processen inte slutförs i tid och behöver eskaleras. Exempel: Vad händer om vi behöver en godkännande från en chef för godkännande av en viss storlek men chefen är sen med att ge svar?

Eskaleringssteg är användbara för företaget eftersom de flyttar en uppgift när en tidsgräns har nåtts. De säkerställer att uppgifter slutförs och inte glöms bort. Ett eskaleringssteg kan innebära att skicka ut påminnelser eller till och med omtilldela en uppgift till någon högre upp i chefshierarkin.

I den här lektionen designar du ett arbetsflöde för godkännande baserat på Durable Functions. I nästa övning använder vi den här kunskapen för att skapa en app med Azure Durable Functions.

Beskrivning av processen för godkännande av design

Vårt arbetsflöde börjar när en projektdesign skickas för godkännande. Förslaget tilldelas som en godkännandeuppgift till en chef. Chefen godkänner eller avvisar förslaget. I verkligheten skulle den här händelsen förmodligen generera och skicka ett meddelande till förslagsförfattaren för att informera dem om resultatet av godkänna/avvisa begäran. I det här exemplet ändrar du bara statusen för uppgiften till antingen approved eller rejected.

Arbetsflödesstegen är följande:

  1. En projektdesign skickas.
  2. En godkännandeaktivitet allokeras till en chef så att de kan granska projektdesignförslaget.
  3. Projektdesignförslaget avvisas eller godkänns.
  4. En eskaleringsuppgift allokeras om godkännandeuppgiften inte slutförs inom en fördefinierad tidsgräns.

Följande bild är en visuell representation av arbetsflödet som visar de tre funktionerna i vår orkestrering: godkännande av begäran, processgodkännande och en eskalerande funktion.

Visual representation of workflow showing the three functions in our orchestration.

I följande tabell visas hur arbetsflödesstegen kan mappas till de funktionstyper som vi använder i ett Durable Functions-arbetsflöde.

Arbetsflödesfunktion Typ av hållbar funktion
Skicka ett projektdesignförslag för godkännande Klientfunktion
Tilldela en godkännandeuppgift till den relevanta personalmedlemmen Orkestreringsfunktion
Godkännandeuppgift Aktivitetsfunktion
Eskaleringsuppgift Aktivitetsfunktion

Orkestreringsfunktionen hanterar en regel i arbetsflödet som startar eskaleringsaktiviteten om godkännandeaktiviteten inte returnerar inom en angiven tid.

Nu vet vi vad som behövs för arbetsflödet, och i nästa kursdel skriver vi koden!