计划参考
这里汇总了计划与后台运行中没有介绍的、关于计划的全部内容。
每个设有计划的工作流都会带有五种结论之一,显示在 工作流 列表中其下次开始时间的下方,以及计划编辑器中预测时间的下方。
- 将会运行,或在开启 Windows 服务后显示为 无论是否登录都会运行:没有任何障碍。其后的备注(例如设备正在使用电池供电)会说明需要了解的情况。
- 仅在您登录时运行:运行会进行,但前提是有人已登录并打开了 Kitewell。在 Windows 上,服务关闭时属于这种情况;对于含有桌面步骤或可见浏览器窗口的工作流,即使服务开启也是如此。
- 不会运行:有因素阻止它运行。后面会附上原因和修复方法。
- 已暂停:工作流的计划已暂停。
- 仅手动运行:工作流没有计划。
结论可能给出的原因如下,按严重程度从高到低排列:
- 登录服务无法启动引擎:密码被拒绝或缺失,账户被锁定、禁用或已过期,或者“作为批处理作业登录”的权限被拒绝;
- 项目已暂停,或其引擎或调度器未在运行;
- 工作流被搁置,或其计划无法读取;
- 密码即将过期;
- 电源计划不允许唤醒定时器;
- 设备正在使用电池供电;
- 浏览器登录需要你的密码;
- 计划的时区与设备的时区不同。
每个原因都有一个对应的修复方法,以按钮的形式显示在原因所在的位置:开启服务、更新或添加密码、复制给 IT 部门的说明文字、恢复项目、启动或重启引擎、编辑工作流或其计划,或者打开设备设置。
任何更改发生后一分钟内,结论都会重新计算;保存工作流、引擎启动或停止后,会立即重新计算。
某台设备上的工作流第一次拥有生效的计划时,工作流 列表上方会显示一次卡片说明这一点,并附上结论和 立即测试计划。知道了 可关闭它。
立即测试计划
Section titled “立即测试计划”通过与计划运行相同的队列、按照相同的规则运行一次工作流,并打开该运行。该运行在列表中标为 计划测试。它永远不会顶替某个错过的计划时间。
Windows 登录服务
Section titled “Windows 登录服务”开启 无人登录时也运行 后,一个名为 Kitewell sign-in 的 Windows 服务会在电脑启动时以运行账户的身份启动引擎,并让它保持运行。
运行账户可以是:你自己,以无密码方式登录,就像 Windows 任务计划程序运行不保存密码的任务那样;在 Windows Server 上,是 Kitewell 创建的本地账户 Kitewell Runner;或者你指定的另一个账户,并提供其密码。
这样可以带来:
- 重启后,在任何人登录之前,计划就会运行。
- 从计划运行前五分钟到运行后两分钟,电脑会保持唤醒;如果电源计划允许唤醒定时器,还会在下一次运行前一分钟设置唤醒定时器。
- 你登录时,引擎会移入你的会话,使桌面步骤能够操作你的屏幕;你注销时,它又会移回去。
它不会:
- 在无人登录时为桌面步骤或可见的浏览器窗口提供屏幕。这类工作流会显示 仅在您登录时运行。
- 在你通过 使用我的密码… 添加密码之前,访问网络共享,或 Windows 用你的密码保护的登录信息。结论会列出需要密码的工作流。
- 改变你的文件存放位置:运行仍以你的身份进行,使用你的文件夹和设置。
Setup.exe 会在无需管理员确认的情况下为你的账户安装 Kitewell,因此不会设置该服务。应用打开后,请在 设备设置 → 无人登录时也运行 中将其开启。如果你拒绝了确认,或设置中途停止,这会被记录下来;设备卡片会说明情况,并再次提供该功能。
更新后,已签名的 Kitewell 会自动把服务所用的程序副本更新到新版本,无需确认。
服务的程序位于 C:\Program Files\Kitewell,数据位于 C:\ProgramData\Kitewell,数据是从你自己的数据文件夹一次性移过去的。关闭该功能会移除服务,数据保持原位。
每次启动、停止、登录被拒绝和设置,都会记录在事件查看器中,来源为 Kitewell sign-in。你添加的密码由 Windows 保存在它保存服务密码的同一个受保护存储区中,从不写入 Kitewell 的文件。
没有运行就过去的计划时间,会连同以下四个原因之一被记录下来:
| 显示的原因 | 发生了什么 |
|---|---|
| 设备处于睡眠状态 | 电脑在那个时间一直处于睡眠状态 |
| Kitewell 未在运行 | Kitewell(在 Windows 上则是服务)没有在运行 |
| 项目引擎未在运行 | 项目已暂停,或其引擎已停止 |
| 没有运行开始 | 一切都在运行,但引擎没有启动它 |
前三个原因出在设备上,最后一个出在工作流上。在 运行与日志 中,未运行 的行会出现在计划时间对应的位置,与其他运行排在一起,并附有原因;未运行 标签页则只列出这些行。
该行会显示以下说明之一:
- 补跑已开启;引擎会在可以时运行它。
- 补跑已关闭,因此之后不会运行。
- 已由 … 的运行补上。 其中 … 是补跑那次运行的时间,选择它即可打开那次运行。
未运行的行无法重试或删除;它们会随运行历史一起过期。
在 Windows 上,离开一晚后登录时显示的一行文字会统计这些情况,例如“12 runs, 1 failed; 2 scheduled runs didn’t start”(12 次运行,1 次失败;2 次计划运行未开始)。
补跑会在电脑恢复后运行错过的开始时间。如需为某个工作流更改设置,请在 计划 → 漏掉的计划 中操作:
- 补跑漏掉的计划:沿用项目默认设置、关闭 或 自定义回溯范围。
- 回溯时间窗:向前回溯多久,最长 30 天。默认为 24 小时。
- 漏跑处理策略:运行所有漏掉的执行、仅运行最新漏掉的一次 或 有运行进行中时跳过。
项目设置 → 工作流默认值 为整个项目设置同样的选项,设备设置 → 工作流默认值 则只为新项目设置初始值。每个工作流最多保留 1,000 个错过的开始时间。
使用 Kitewell Personal 或 Team 时,错过计划提醒会说明有多少次计划运行没有开始,以及原因。
更多计划、暂停和 Webhook
Section titled “更多计划、暂停和 Webhook”一个工作流可以有多个计划,也可以设定在某个时间停止或重新启动:这些都在 其他计划 中。工作流 列表中的 暂停计划 可以让某个工作流退出排程;从工作区下载的项目,其工作流会以暂停状态送达。
工作流也可以在另一个服务向它发送请求时启动。在 计划 视图中开启它的 Webhook 即可。通过 Webhook 启动工作流介绍了请求携带的内容。
Webhook 地址形如 https://hooks.kitewell.app/…;请求必须是 POST,响应为 202。步骤从 $WEBHOOK_PAYLOAD 读取请求体,从 $WEBHOOK_HEADERS 读取请求头。
Webhook 每分钟大约接受 60 个请求,请求体最大 512 KiB,请求头最大 16 KiB;最近 20 个请求会保留在 最近的请求 中。在 Windows 上,由于命令行长度的限制,超过约 32,000 个字符的请求体可能无法启动运行。
队列可以避免所有运行同时启动。每个项目都有一个 default 队列,一次运行 5 个;可以在 更多 → 队列 中通过 同时运行数 更改它,或添加你自己的队列。工作流在其 设置 中选择所用的队列。
队列会控制手动启动、补跑、重试、Webhook 运行、计划测试和批次行的节奏;按计划准时启动的运行不会被推迟。项目中未定义的队列,一次只允许运行一个。
让它独自运行之前
Section titled “让它独自运行之前”- 命令以运行账户的权限运行。
- Docker 步骤需要 Docker 正在运行。
- AI 步骤需要在这台设备上设置好其模型或智能体。
- 在另一台机器上运行的步骤,需要能够连接到那台机器,并已接受其主机密钥。
- 网站步骤需要 Chrome,并且 检查浏览器 成功。
- 需要某个密钥、而这台设备上没有其值的运行,会在开始时失败。
菜单栏和通知区域中的菜单项使用你阅读 Kitewell 所用的语言:打开 Kitewell、退出 Kitewell、工作流运行时保持唤醒,以及 Mac 上的 登录时打开 或 Windows 上的 登录时启动。Mac 上还有 在菜单栏中继续运行;在 Windows 上开启服务后,还会多出 更新后台服务…。
两个菜单都会列出项目,因此你可以分别启动和停止每个项目。在 Mac 上,退出 Kitewell 会停止所有内容,如果有运行正在进行,会先发出警告。在 Windows 上开启服务后,它会关闭窗口,把引擎及其运行交给服务。
- 运行历史默认保留 30 天,可在 设备设置 → 运行历史保留期限 中更改。请参阅运行与日志。
- Mac 上的睡眠防护(设备设置 → 睡眠防护)会在有工作运行时让电脑保持唤醒。它默认关闭,而且不会为尚未开始的计划唤醒电脑。
- Windows 服务为
kitewell-signin.exe,注册名称为KitewellSignin;sc query KitewellSignin可查看其状态。其设置日志为%LOCALAPPDATA%\Kitewell\logs\signin-setup.log。