Skip to content

运行与监控

图搭好之后,工具栏上的三个控件决定它是否运行、如何运行,而构建器的 Activity 视图则是你观察实际发生了什么的地方。

快速概览

  1. 点击 Validate 先抓出明显的问题。
  2. 点击 Test 立即运行这张图一次,不管它的触发器是什么。
  3. 点击 Activate 发布它,并开始监听它真正的触发器。
  4. 打开 Activity 视图(图标侧栏)查看运行历史、步骤日志和每节点统计。
  5. 随时点击 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 面板的时间戳交叉核对。

分步操作

操作演示:测试、读取结果,然后激活

  1. 搭好一张图并点击 Validate;继续之前先把它标出的问题都修好。
  2. 点击 Test。这会保存草稿、由它发布一个新版本,并立即在触发器节点排入一次运行,与真正的触发器无关。
  3. 切换到侧栏里的 Activity 图标。在一个自动化有史以来第一次运行时,你会短暂看到一个朴素的空状态界面,而不是空白面板;如果运行没马上出现,点击 Refresh,因为周期性检查是在后台推进运行的,并非即时。
  4. Runs 面板里打开这次运行,看它当前停在哪个节点(或它的错误),然后查看 Recent step logs 了解逐节点的经过,包括任何 skipped 步骤及其消息。
  5. 一旦它的表现符合你的预期,就点击 Activate。这会再发布一个版本,即便自 Test 以来什么都没改,并把自动化的状态翻为 Active,从此由它真正的触发器接手。

操作演示:诊断一次不再推进的运行

  1. 打开 Activity 找到那次运行;它的状态和当前节点会精确告诉你它卡在哪里。
  2. 如果它是 Active 却已经好一会儿没动,检查那个节点是不是 DelayTarihe kadar bekle(等到某个日期);这类节点本就该停在那里,有时长达数天,然后自行恢复。
  3. 如果它停在一个动作节点上,查看 Node stats 里该节点的失败/跳过计数器;配置了 Retry 的节点会按自己的等待计划不断重试,然后才会走到它的 On error 行为。
  4. 如果所有自动化一下子全都不动了,那几乎总是周期性检查根本没在跑(见下方的自托管提示),而不是这一张图的问题。

疑难排查

  • 一次运行的状态永远停在 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。

自托管部署

在自托管安装里,管理员需要调度那个推进运行、并检查到期计划的周期性任务;见 自托管。在托管服务上这是自动的。

相关