业务流程
付款很少是孤立的,登上商船、审查可疑交易、批准超过门槛的付款、在提高限额之前收集文件——每个步骤都是一系列步骤,有些是自动化步骤,有些是需要一个人,大多数都附有最后期限。
进程引擎允许您将这些模型建模为图表而不是代码: a 定义 描述流动,每一次流动都是 实例 它可以自己通过图表。
处理引擎是 工作流程( W) BPM 模块。在管理控制台的市场部分启用该模块;该部分只用于模块运行的组织。
由什么过程组成
定义是一个由箭头连接的节点的图。节点有几种:
| 节点 | 它会做什么? |
|---|---|
| 自动步骤 | 调用平台能力——筛选客户,建立支付机制,发送通知,评估决定表 |
| 人类任务 | 等待一个人。 在任务队列中看到一个表单、一个团队和一个最后期限 |
| 独家网关 | 基于条件选择一个正向箭头 |
| 平行网关 | 分成几块树枝 等着他们全部回来 |
| 包容性网关 | 将每个条件维持的分支 |
| 计时器 | 将进程持续到某一时刻或持续一段时间 |
| 循环 / 多窗口 | 重复一步, 或运行一次收藏的元素 |
| 子进程 | 单步嵌入另一股流 |
| 错误边界 | 在一步上绘制的逃生路径: 当步骤失败时, 进程会沿着这个箭头离开, 而不是停止 |
每个实例都包含 变量 —— 一套读写值。 筛选步骤会写它的判决, 一个网关会读取它并选择一个分支。
图表在行政控制台上视像编辑,并可从 BPMN 2.0 XML,所以可以像现在这样带入外部建模器中的一股流动。
人类任务
任务在队列中等待到有人拿走它。 它让那个人负责; 直到那时没有人负责。 任务带有它所属的团队、 填表和期限。
运算符工作队列从 进程任务 在管理控制台中: 接受任务,填写表格, 完成决定 。 决定会回到进程, 决定下一个分支 。 任务也可以被授权、 返回池中、 有正当理由拒绝 , 或升级 —— 当最后期限过后自动完成, 或者用手完成 。
步骤可靠性
自动步骤通常会调用平台外的东西, 而外部的东西会失败。 有三个设置决定了会发生什么。 所有设置都设置在步骤上, 并且从定义中继承下来, 当该步骤不说时。
重试策略
| 设置 | 默认 | 含义 |
|---|---|---|
| 尝试 | 5 | 全部尝试,第一次包括 |
| 初始延迟 | 5 s | 在第一次重试前等待 |
| 乘数 | 5 | 等待的滋长有多快 |
| 最大延迟 | 1 h | 等待的上限 |
| 重试于 | 瞬间 | 哪些失败值得重试 |
默认情况下,一个步骤会在约 13 分钟内尝试五次;四次重试分别等待 5 秒、25 秒、2 分钟和 10 分钟。只有提高尝试次数时,一小时上限才会生效:第五次等待约为 52 分钟,第六次将超过一小时。
被默认重审的是什么。 仅由对方状态支持的失败: 连接丢失, 超时, 名称解析失败, HTTP 429,而网关错误 502, 503 和 504确切的答案——没有这样的账户*,没有有效的数据*,已经处理过*,任何其他4xx——没有重审,因为它不会改变。
HTTP 500 该列表中未包含和区别问题。 502, 503 or 504 来源于应用程序 * 前面的基础设施: 请求没有到达, 或者没有回复, 所以最有可能的工作从未开始 。 A 500 意思是相反的——申请接受请求,半途而废,为了支付,它可能已经拿了这笔钱而没有报告. 重试了两次这笔费用.
如果您知道提供者将重复请求视为同一操作, 请添加 500 转到该步骤的重试列表。这是关于特定提供者的决定,而不是默认。
默认是故意缩小的,一个过程步骤常常是呼叫支付提供者,在提供者一方没有一丝不苟的情况下重试,可以两次向客户收费.
扩大名单是你的决定,每一步都决定: all,或失败名称和响应代码列表(provider_declined, 409也就是说, 已添加 。在将其拓宽为移动货币的一步之前,确认提供者将重复请求视为同一操作。
时间限制和心跳
每一步都有时间限制, 30 除非该步骤确定自己的步骤。这不是一个总的执行预算,而是该步骤可能要走多长时间。 ** 没有生命迹象**.
长时间的操作(登记输出,等待区块链确认,pagized 提供者民意调查)可能比它回报时的限度要长得多。每份报告都会重新开始计数,所以限制会取消实际挂起的,而不是仅仅是缓慢的。一个沉默过限的步子被取消,失败会遵循普通路径——这意味着重试政策也适用于它。
在任务队列中,这是一个步骤的区别,该步骤是 *alive at 14:32 * 和吊着的一样。 仅逾期 过滤器显示截止日期已过但没有结果的步骤 。
失败审查
当一个步骤没有了尝试时,进程无法自行进一步,任务将转移到: 失败审查 。每个条目都保留节点、失败类型和文本、尝试的次数以及上下文:它是什么任务、是什么定义、以及失败时的进程变量。
现有两项决定:
- 重试 —— 重新执行该步骤为真实。 如果这次成功, 进程会从原位继续。 如果重试无法启动, 条目会返回队列而不是从中消失 。
- 关闭 记录决定和原因,程序保持不变: 关闭一个条目是决定不追查它,而不是确认一切正常。
与一个步骤 错误边界 从它上绘制到这个页面。 这样的失败是流量的一部分 。 过程会沿着所绘制的路径处理它 。
重复出现在这里的相同节点并不是操作员的问题,而是改变进程或步骤的重试策略的信号。 短窗口中条目的爆发通常意味着提供者退出,而不是每个单个进程的错误。
版本数
发布新版本从不打扰运行实例:每个版本在它开始的版本上完成,只有新实例使用最新发布的版本.
这就提出了一个实际问题——等待旧的完成,或者移动它们?定义列表回答了这个问题:对于任何定义,你可以看到每个版本中有多少个活的例正在运行和暂停,包括那些已经空完的例。
编辑遵循一个简单的周期:一个已公布的定义返回起草,修改,然后再次出版。每个出版物都用它的版本编号和图表的指纹来记录,所以所出版内容的历史和何时可以审计。
决定表
改变的商业规则往往最好不在图中。 决定草案表 (DMN将它们作为条件和结果的一行:风险阈值、费用水平、路线选择、批准限额。
一个过程步骤对表格进行评价,并按其结果继续进行,表格被修改,其评价被记录用于审计,一个表格的两个变体可以通过A/B实验进行实时流量比较,然后再采用其中之一.
特设案件
不是每个作品都有固定的订单. 案件管理 调查包括调查——争端和遵守情况审查——随着情况的发展而增加任务,记录里程碑,案件得到解决和结案,而不是从头到尾都遵循图表。
在行政控制台上找到它的地方
| 页次 | 它是为了什么 |
|---|---|
| 流程定义 | 每个版本的流程、出版物、版本和现场实例目录 |
| 进程编辑器 | 视觉图,包括可靠性在内的步骤设置, BPMN 进口和出口 |
| 进程任务 | 运算符队列: 尝试、 响应截止日期、 * 逾期仅存 * 过滤器 |
| 失败审查 | 用尽其尝试的步骤:重试或结束 |
| 案例 | 特别调查 |
| ** 决定表** | 业务规则、版本、审计线索、A/B实验 |
| 过程分析 | 实例花时间和被卡住的地方 |