基于 Durable Functions 设计工作流
可使用 Durable Functions 将长时间运行的工作流编排为一组活动。 可将流程中的每个步骤映射到一种函数类型,将每个任务映射到一项活动。 拥有一种自动化流程意味着,任务未完成时无需手动监视或升级任务。
随着不断深化提案审批流程自动化,需要考虑流程中的步骤未及时完成和需要升级的情况。 例如:如果特定规模的提案需要经理审批,但经理未及时响应,怎么处理?
升级步骤对业务很有用,因为当某个任务的截止时间到期后,这些步骤会继续处理该任务。 这样可确保任务得以完成,不被遗忘。 升级步骤可能涉及发出提醒,甚至是将任务重新分配给管理层次更高的人员。
此单元介绍基于 Durable Functions 的审批过程工作流设计。 在下一练习中,将运用这一知识,使用 Azure Durable Functions 创建一个应用。
审批流程的设计说明
提交供审批的项目设计后,工作流随即开始。 提案作为审批任务分配给经理。 经理将批准或拒绝该提案。 在现实世界中,此事件可能会生成通知,并将其发送给提案创建者,让他们知道批准/拒绝请求结果。 在此示例中,只需将任务状态更改为 approved
或 rejected
。
工作流程步骤如下:
- 提交项目设计。
- 会向经理分配审批任务,让其审核项目设计提案。
- 项目设计提案被拒绝或通过审批。
- 如果审批任务未在预定义的时间限制内完成,则分配升级任务。
下图是工作流的可视化表示形式,显示了业务流程中的三个功能:请求批准、流程批准和升级功能。
下表显示如何将工作流步骤映射到在 Durable Functions 工作流中使用的函数类型。
工作流函数 | Durable Functions 类型 |
---|---|
提交供审批的项目设计提案 | 客户端函数 |
将审批任务分配给相关人员 | 业务流程函数 |
审批任务 | 活动函数 |
升级任务 | 活动函数 |
业务流程函数将管理工作流规则,该规则用于在审批活动未在指定时间内返回时启动升级活动。
现已说明工作流的所需内容,下一单元介绍其代码编写!