结账前检查就绪状态
在最关键的日子里——月末、预测提交、董事会材料——问题不是“Weave 发现了什么?”,而是“我们准备好了吗?”。 就绪集 会列出某个截止日期所依赖的工作流,选择该集即可一次性回答所有工作流的这个问题, 清单以它自己的计数开头:
11 of 13 ready; 1 not ready; 1 couldn’t check.
集中的每个工作流会得到三种答案之一,取其各行中最差的一个。只要任何一项检查发现了问题,它就是 未就绪; 问题会列在它下方,并带有与 Weave 选项卡相同的 修复、转到 和 Weave 如何得知 按钮。 否则,只要任何一项检查无法对它作出判断,它就是 无法检查,并会写明原因。 只有当 Weave 能对它运行的每项检查都通过时,它才是 就绪。 Weave 没有判断过的内容绝不会显示为就绪,只有一个例外: 上次运行因为可供比较的更早历史太少,而被视为正常,详见下文。
被人标记为符合预期的问题 仍会使其所在行成为 未就绪,并且该行会说明它已被标记为符合预期。 Weave 选项卡不再报告这样的问题;清单仍会如实说明。
这些检查就是 Weave 已在运行的规则——不涉及 AI——因此无论您多频繁地索取清单,都不产生任何成本。 关于这些规则读取什么以及它们的答案意味着什么,请参阅Weave检查内容。
- 打开项目的 Weave 选项卡,在 发现项 的工具栏上点击 就绪状态。
- 点击 新建。为该集命名,例如“Month-end close”, 并将它所依赖的工作流从 项目中的工作流 移到 此集中的工作流。
- 也可以勾选 有截止时间,并指明该集何时到期,
以 cron 表达式及其所用的时区表示——与计划事件提供的选项相同。
0 9 5 * *表示每月 5 日 09:00,0 8 * * 1表示每周一 08:00,均按该时区计算。 偏移量的读取方式与计划事件相同:UTC +0 是伦敦时间,包括英国夏令时, 其他一些偏移量遵循位于该偏移量的地区的夏令时,其余的则是固定的。 事件调度器页面列出了每个偏移量的读取方式。 - 对于有截止时间的集,在 Tell the owner this many hours before it is due 下,指明 Weave 应在截止时间之前多久发送其消息,范围为 1 到 168 小时。默认为 24。
- 点击 保存。
集属于项目,在项目的 Weave 选项卡中拥有 发现项 的所有人都可以检查它。 只有项目架构师才能创建、编辑或删除集,并且集中的每个工作流都必须在该项目中。 最后保存某个集的人就是它的负责人。同时编辑同一个集的两个人会被隔开: 第二次保存会被拒绝,集会被重新读取,表单会显示较新的副本及原因。
只有当有信息说明输入表应当在何时写入时,Weave 才能认定它是最新的: 写入它的工作流上的计划,或表上的 时效性阈值。 请先设置这些,否则大多数工作流的第一行会显示为 无法检查。
在左侧选择一个集。Weave 会读取整个项目——与 Weave 选项卡所做的读取相同——并判断集中的每个工作流。 修复问题之后,请点击 重新检查。
每一项都会显示工作流的名称、它的结论,以及适用于它的每项检查各占一行。 当某一行显示 无法检查 时,原因会写在它旁边;以下是您最可能遇到的原因:
| 行 | Weave 比较的内容 | 显示“无法检查”的常见原因 |
|---|---|---|
| 输入是最新的 | 工作流读取的每个表,与写入它的工作流的计划或该表自己的时效性阈值相比较。 | 您的角色无法读取表;Weave 无法推算出它读取哪些表,或它读取的表 Weave 都无法追踪;它读取的某个表对您是隐藏的;某个步骤读取 Weave 无法推算出的表,例如用变量选择的表;它读取的某个表既没有计划写入者也没有时效性阈值,因此没有信息说明它应当何时写入;写入它的工作流正在运行、正在排队或刚刚结束。 |
| 上次运行成功 | 工作流最近一次运行,必须已经结束。失败的运行为 未就绪。 | 没有运行记录,无法读取其运行历史,或其上次运行已被停止或仍在进行。 |
| 上次运行看起来正常 | 上次运行耗时多久,其表之后包含多少行、多少空值,以及它们的值如何分布,与更早的运行相比较。 | 上次运行失败、被停止或仍在进行,因此没有可比较的正常情况;行访问适用于它写入的某个表,因此不会比较该表的值;运行包含您的角色看不到的步骤。 |
| 自上次运行以来输入未更改 | 它读取的表在其上次读取之后,是否被另一个工作流写入。 | 您的角色无法读取表;Weave 无法追踪该工作流读取的内容;或该工作流没有可供比较的运行。 |
| 计划状况良好 | 其计划事件:时间表有效、与调度器一致、没有错过到期的运行、没有因运行仍在进行而丢失到期时间。 | 无法读取调度器。 |
| 对账结果一致 | 与该工作流关联的每个对账,取其已批准的版本,以您的身份运行。 | 某个对账尚未获得批准;您的角色无法读取表数据;行访问只让您看到某一侧的部分行;它所使用的表或列已发生更改;清单已超时,未能完成对账。 |
没有计划事件的工作流没有 计划状况良好 这一行,该项会说明它没有计划。 没有关联对账的工作流没有 对账结果一致 这一行。这是关于该工作流的事实,而不是 Weave 未能检查的内容。
自创建该集以来已从项目中删除的工作流,或您的角色看不到的工作流,仍然会被计入。 它会显示为 无法检查 并附上原因,因此计数不会悄悄减少。
历史很少的工作流
Section titled “历史很少的工作流”只有与更早的运行相比,某次运行才可能看起来异常。如果 Weave 可供比较的更早历史太少, 上次运行看起来正常 会将该次运行视为正常,并说明这一点。这包括新的工作流或步骤、 运行太少而在过去 30 天内没有足够运行次数的工作流(例如每周一次的工作流), 以及首次填充某个表的运行:
Weave has too little earlier history to compare its last run with, so it counts as usual.
当该次运行的一部分可以进行比较时,该行会说明哪些内容处于其通常范围内,并补充一句 “Where Weave has too little earlier history to compare with, it counts as usual.” Weave 选项卡仍会将这些列为 Weave 未能进行的检查。 从未运行过的工作流,其 上次运行成功 和 上次运行看起来正常 两行仍然是 无法检查, 上次运行已被停止或仍在进行的工作流也是如此。
在截止时间之前收到通知
Section titled “在截止时间之前收到通知”对于有截止时间的集,Weave 会在截止时间临近时自动运行检查,并在该集每次到期时, 以应用内消息的形式通知该集的负责人(即最后保存它的人)一次:
“Month-end close” is due in 3 days (31 Oct 17:00 UTC): 11 of its 13 workflows ready, 1 not ready, 1 Weave couldn’t check.
点击消息上的 打开 Weave 可以打开项目的 Weave 选项卡以及该集的清单。 消息只包含计数;名称和原因在清单中。它会在屏幕上停留 30 秒, 并且只有当负责人当时已登录时才会显示;针对同一个截止时间不会再次发送, 但清单始终可以在窗口中查看。如果负责人已无法打开该项目,则不会发送任何内容。
Weave 每小时检查一次,因此消息会在通知时间点之后一小时内送达: 提前 24 小时通知的,会在截止时间前 24 小时之后的一小时内送达。 在其通知时间点已过之后才保存的集,会在下一次检查时得到通知。 如果某次检查启动较晚,在其运行之前截止时间已经过去, 该次检查仍会通知负责人,措辞为“was due 20 minutes ago”,除非该集是在截止时间之后保存的。 该检查以负责人的身份运行,并且只有当负责人在上次保存该集时能够读取表,它才会读取表。
通过 API
Section titled “通过 API”就绪集可通过平台 API 在 /analyze/weave/readiness 下使用:GET /sets 列出项目的集,
GET /set、POST /set、PUT /set 和 DELETE /set 分别读取、创建、替换和删除一个集,
GET /check 返回窗口所显示的清单以及每一行的发现项。通过 API 读取的集带有一个 etag;
在 PUT 时将其作为 if_match 发回,可使对较新保存内容的编辑被拒绝。
如果不发回,则以最后一次写入为准。