logologo
开始
手册
开发
插件
API
English
简体中文
开始
手册
开发
插件
API
English
简体中文
logologo
工作流
概述
快速开始

触发器

概述
数据表事件
定时任务
操作前事件
操作后事件
自定义操作事件
审批
Webhook

节点

概述

人工智能

大语言模型

流程控制

条件
循环
变量
并行分支
调用工作流
流程输出
延时
结束

计算

计算
日期计算
JSON 计算
JSON 变量映射

数据操作

新增数据
更新数据
查询数据
删除数据
SQL 操作

人工处理

人工处理
审批
抄送

扩展类型

HTTP 请求
JavaScript 脚本
通知
邮件发送
响应
响应消息
变量
执行记录
版本管理
高级选项

扩展开发

概述
扩展触发器类型
扩展节点类型
API 参考
Next Page概述

#执行计划(历史记录)

每个工作流触发后,会创建对应的执行计划,以跟踪此次任务的执行过程。每个执行计划都有一个状态值用于表示当前的执行状态,该状态在执行历史的列表和详情中都可以查看到:

执行计划状态

当主流程分支中的节点全部都以“完成”状态执行到流程终点时,整个执行计划将以“完成”状态结束。当主流程分支中的节点出现“失败”、“出错”、“取消”、“拒绝”等终态时,整个执行计划将以对应的状态提前终止。当主流程分支中的节点出现“等待”状态时,整个执行计划将暂停执行,但仍显示“执行中”的状态,直到等待的节点被恢复后继续执行。不同的节点类型对等待状态的处理方式不同,比如人工节点需要等待人工处理,而延时节点需要等待时间到达后继续执行。

执行计划的状态如下表:

状态对应主流程最后执行的节点状态含义
队列中-流程已触发并生成执行计划,排队等待调度器安排执行
进行中等待节点要求暂停,等待进一步输入或回调再继续
完成完成未遇到任何问题,所有节点按预期逐个执行完成。
失败失败由于未满足节点配置,导致失败。
出错出错节点遇到未捕获的程序错误,提前结束。
取消取消等待中的节点被流程管理者从外部取消执行,提前结束
拒绝拒绝在人工处理的节点中,被人工拒绝不再继续后续流程

在 快速开始 的例子中,我们已经知道查看工作流的执行历史的详情可以检查执行过程中所有节点的执行是否正常,以及每个已执行的节点的执行状态和结果数据,在一些高级的流程和节点中,节点的结果还可能有多个,例如循环节点的结果:

多次执行的节点结果

提示

工作流可以被并发的触发,但执行是逐个排队执行的,即使同时触发多个工作流,也会依次执行,不会并行执行。所以出现“队列中”的情况时,代表有其他工作流正在执行,需要等待。

“进行中”的状态只代表该执行计划已经开始,且通常由于内部节点的等待状态而暂停,并不代表该执行计划抢占了队头的执行资源。所以存在“进行中”的执行计划时,其他“队列中”的执行计划仍可被调度开始执行。

#节点执行状态

执行计划的状态是由其中每个节点的执行决定的,在一次触发后的执行计划中,每个节点执行后会产生一个执行状态,状态则会决定后续流程是否继续执行。通常情况下,节点执行成功后,会继续执行下一个节点,直到所有节点依次执行完成,或者被中断。当遇到流程控制相关节点时,如分支、循环、并行、延时等,会根据节点配置的条件,以及运行时的上下文数据,决定下一个节点的执行流向。

每个节点执行后可能产生的状态如下表:

状态是否是终态是否提前终止含义
等待否否节点要求暂停,等待进一步输入或回调再继续
完成是否未遇到任何问题,执行成功,继续执行下一个节点直至结束。
失败是是由于未满足节点配置,导致失败。
出错是是节点遇到未捕获的程序错误,提前结束。
取消是是等待中的节点被流程管理者从外部取消执行,提前结束
拒绝是是在人工处理的节点中,被人工拒绝不再继续后续流程

除等待状态外,其他状态都是节点执行的终态,只有终态是“完成”的状态,才会继续执行,否则都会提前终止整个流程的执行。当节点处在分支流程中时(并行分支、条件判断、循环等),节点执行产生的终态会由开启分支的节点接管处理,并以此类推决定整个流程的流转。

例如当我们使用了“‘是’则继续”模式的条件节点时,当执行时如果结果为“否”,则会提前终止整个流程的执行,并已失败状态退出,不再执行后续节点,如下图所示:

节点执行失败

提示

所有非“完成”的终止状态都可以被视为失败,但失败的原因不同,可以通过查看节点的执行结果来进一步了解失败的原因。