基于 Durable Functions 设计工作流

已完成

可使用 Durable Functions 将长时间运行的工作流编排为一组活动。 可将流程中的每个步骤映射到一种函数类型,将每个任务映射到一项活动。 拥有一种自动化流程意味着,任务未完成时无需手动监视或升级任务。

随着不断深化提案审批流程自动化,需要考虑流程中的步骤未及时完成和需要升级的情况。 例如:如果特定规模的提案需要经理审批,但经理未及时响应,怎么处理?

升级步骤对业务很有用,因为当某个任务的截止时间到期后,这些步骤会继续处理该任务。 这样可确保任务得以完成,不被遗忘。 升级步骤可能涉及发出提醒,甚至是将任务重新分配给管理层次更高的人员。

此单元介绍基于 Durable Functions 的审批过程工作流设计。 在下一练习中,将运用这一知识,使用 Azure Durable Functions 创建一个应用。

审批流程的设计说明

提交供审批的项目设计后,工作流随即开始。 提案作为审批任务分配给经理。 经理将批准或拒绝该提案。 在现实世界中,此事件可能会生成通知,并将其发送给提案创建者,让他们知道批准/拒绝请求结果。 在此示例中,只需将任务状态更改为 approvedrejected

工作流程步骤如下:

  1. 提交项目设计。
  2. 会向经理分配审批任务,让其审核项目设计提案。
  3. 项目设计提案被拒绝或通过审批。
  4. 如果审批任务未在预定义的时间限制内完成,则分配升级任务。

下图是工作流的可视化表示形式,显示了业务流程中的三个功能:请求批准、流程批准和升级功能。

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

下表显示如何将工作流步骤映射到在 Durable Functions 工作流中使用的函数类型。

工作流函数 Durable Functions 类型
提交供审批的项目设计提案 客户端函数
将审批任务分配给相关人员 业务流程函数
审批任务 活动函数
升级任务 活动函数

业务流程函数将管理工作流规则,该规则用于在审批活动未在指定时间内返回时启动升级活动。

现已说明工作流的所需内容,下一单元介绍其代码编写!