根據 Durable Functions 來設計工作流程
您可使用 Durable Functions 將長時間執行的工作流程當作一組活動來進行協調。 程序中的每個步驟都可以對應至某個函式類型,而每個工作都可對應至某個活動。 擁有自動化程序,即意謂著您無須擔心要手動監視工作,或在工作未完成時呈報。
在我們持續思考如何將提案核准程序自動化的同時,也必須考量程序中步驟未及時完成而需要呈報的情況。 例如:如果我們需要一位主管來核准特定大小的提案,但該主管回應速度很慢時,該怎麼辦?
呈報步驟對業務相當有用,因為當期限已到時,呈報步驟會據以移動工作。 期可確保工作已完成,而不是被遺忘。 呈報步驟可能涉及送出提醒,或甚至將工作重新指派給管理階層中較高層的某個人員。
在此單元中,您將根據 Durable Functions 來設計核准程序工作流程。 在下一個練習中,您將會應用這項知識,透過 Azure Durable Functions 來建立應用程式。
設計核准程序的描述
我們的工作流程會在提交專案設計以供核准時開始。 提案會以核准工作的形式指派給主管。 該主管會核准或拒絕提案。 在真實世界中,此事件可能會產生通知並將其傳送給提案作者,以讓他們知道核准/拒絕要求的結果。 在此範例中,您只會將工作的狀態變更為 approved
或 rejected
。
工作流程步驟如下:
- 使用者提交專案設計。
- 系統將核准工作配置給主管,讓他們可以檢閱專案設計提案。
- 主管拒絕或核准專案設計提案。
- 如果核准工作未在預先定義的時間限制內完成,系統就會配置呈報工作。
以下圖像是工作流程的視覺顯示方式,其中顯示了協調流程中的三個函式 - 要求核准、程序核准及呈報函式。
下表顯示如何將工作流程步驟對應至我們在 Durable Functions 工作流程中使用的函式類型。
工作流程函式 | Durable Functions 類型 |
---|---|
提交專案設計提案以供核准 | 「用戶端」函式 |
將核准工作指派給相關的人員成員 | 「協調流程」函式 |
核准工作 | 「活動」函式 |
呈報工作 | 「活動」函式 |
協調流程函式會管理工作流程中的規則,此規則會在核准活動未於指定的時間內傳回時啟動呈報活動。
既然我們已了解工作流程所需的項目,現在就讓我們在下一個單元的程式碼中撰寫該項目吧!