运行与监控
图搭好之后,工具栏上的三个控件决定它是否运行、如何运行,而构建器的 Activity 视图则是你观察实际发生了什么的地方。
快速概览
- 点击 Validate 先抓出明显的问题。
- 点击 Test 立即运行这张图一次,不管它的触发器是什么。
- 点击 Activate 发布它,并开始监听它真正的触发器。
- 打开 Activity 视图(图标侧栏)查看运行历史、步骤日志和每节点统计。
- 随时点击 Pause 停止新的运行,同时不丢失草稿。
详细参考
Test、Activate 和 Pause
| 控件 | 作用 |
|---|---|
| Test | 保存你的草稿、发布它,并立即在触发器节点排入一次运行。若图无效,则带着校验报告失败。 |
| Activate | 保存草稿并将其作为一个新版本发布,然后把自动化设为 Active,让它开始对真正的触发器作出反应。 |
| Pause | 把自动化设为 Paused。它停止启动新运行,但草稿和历史都完好保留;Activate 可以恢复它。 |
运行状态
| 状态 | 含义 |
|---|---|
| Active | 正在进行中,停在某个节点上 |
| Completed | 到达了退出节点,或跑到了图的末端 |
| Exited | 被一个条件未满足的 Filter 节点终止 |
| Failed | 遇到了无法恢复的错误 |
步骤状态
运行经过的每个节点都会在步骤日志里留下一条记录。
| 状态 | 含义 |
|---|---|
| ok | 该步骤成功运行了(对触发器或逻辑节点而言,是成功完成了求值) |
| skipped | 该步骤被自身条件过滤掉了,或它的执行器尚未接入,见 节点 |
| error | 该步骤的动作失败了,例如一次没有返回成功响应的 webhook 调用 |
Activity 视图
| 面板 | 显示内容 |
|---|---|
| Runs | 该自动化的每一次运行:状态、当前所在的节点(或它的错误),以及开始于多久之前 |
| Recent step logs | 各次运行中最新的逐节点事件,相关处附带一条简短消息 |
| Node stats | 每节点计数器:在所有运行中,每个节点被进入、完成、跳过或失败了多少次 |
一个 Refresh 按钮会重新加载这三者。在一个自动化从未运行过之前,这个视图会显示一个朴素的空状态界面,而不是空白面板。
可靠性
运行在后台一次推进一个节点,每个节点的步骤只记录一次,即便检查运行的后台进程恰好自身重叠也一样。实际效果是:像发送 webhook 这样的动作,不会仅仅因为推进它的那次检查跑了不止一次,就对同一步骤触发两遍。
重试与每节点错误处理
一个动作节点可以在它自己的检查器里配置重试(0 到 5 次,每次尝试之间有等待),在此之后再落入它的 On error 行为:越过失败继续、终止整个运行,或转到一条专用的错误路径。自动化的 Settings 里还有一个 Default on-error behavior,供任何未设置自身行为的动作使用。它们具体在哪里,见 搭建工作流。
Activity 里的 Node stats 是跨一个自动化每个已发布版本累计的,不会在你每次激活改动时重置;某个节点失败计数的激增,可能同样来自某个旧版本的行为,而不只是当前版本,所以要对照 Runs 面板的时间戳交叉核对。
分步操作
操作演示:测试、读取结果,然后激活
- 搭好一张图并点击 Validate;继续之前先把它标出的问题都修好。
- 点击 Test。这会保存草稿、由它发布一个新版本,并立即在触发器节点排入一次运行,与真正的触发器无关。
- 切换到侧栏里的 Activity 图标。在一个自动化有史以来第一次运行时,你会短暂看到一个朴素的空状态界面,而不是空白面板;如果运行没马上出现,点击 Refresh,因为周期性检查是在后台推进运行的,并非即时。
- 在 Runs 面板里打开这次运行,看它当前停在哪个节点(或它的错误),然后查看 Recent step logs 了解逐节点的经过,包括任何
skipped步骤及其消息。 - 一旦它的表现符合你的预期,就点击 Activate。这会再发布一个版本,即便自 Test 以来什么都没改,并把自动化的状态翻为 Active,从此由它真正的触发器接手。
操作演示:诊断一次不再推进的运行
- 打开 Activity 找到那次运行;它的状态和当前节点会精确告诉你它卡在哪里。
- 如果它是
Active却已经好一会儿没动,检查那个节点是不是 Delay 或 Tarihe kadar bekle(等到某个日期);这类节点本就该停在那里,有时长达数天,然后自行恢复。 - 如果它停在一个动作节点上,查看 Node stats 里该节点的失败/跳过计数器;配置了 Retry 的节点会按自己的等待计划不断重试,然后才会走到它的 On error 行为。
- 如果所有自动化一下子全都不动了,那几乎总是周期性检查根本没在跑(见下方的自托管提示),而不是这一张图的问题。
疑难排查
- 一次运行的状态永远停在 Active。 要么它确实在等一个 Delay、一个等到某日期,或一个重试计划(查看当前节点),要么推进运行的周期性检查根本没在跑;见下方的自托管提示。
- 明明运行显然做了些事,步骤日志却是空的。 检查自动化的 Settings 里的 Save execution data:Errors only 会隐藏成功的步骤,None 会隐藏一切,两者都是为了节省存储或避免记录敏感载荷。
- 一次运行以“zaman aşımı”(超时)失败。 Settings 里有一个 Max run duration;超过那么多秒的运行会被自动判为失败,即便正处在 Delay 中。把它调高,或对本就该长时间等待的自动化把它留空(关闭)。
- 自动化自己暂停了。 Settings 的 Circuit breaker 会在连续那么多次运行失败后自动暂停一个自动化。在 Activity 里查看失败原因,修好它,等你确信已解决后再次 Activate。
- 一个 webhook 或一个繁忙事件产生的运行比预期多。 检查 Settings 的 Concurrency;默认值 Free 允许同一个自动化无限并行运行。Single at a time、Skip if busy 或 Queue all 会限制同时在途的数量。
- 在自托管安装里什么都不运行。 这是最常见的自托管缺口:没人调度那个周期性任务。见下方提示。
提示
先测试,后激活
Test 会立即运行,不触碰自动化的状态,所以你可以先在 Activity 里检查结果,再把它翻为 Active。
自托管部署
在自托管安装里,管理员需要调度那个推进运行、并检查到期计划的周期性任务;见 自托管。在托管服务上这是自动的。