定时任务

按计划执行提示词

使用 /loop 和 cron 调度工具在 Hawa Code 会话中定时运行提示词、轮询状态或设置一次性提醒。

定时任务让 Hawa Code 自动按间隔重新运行提示词。使用它们来轮询部署、监控 PR、检查长时间运行的构建,或提醒自己稍后做某事。任务是会话范围的:它们存在于当前的 Hawa Code 进程中,退出后就会消失。

使用 /loop 定时执行提示词

/loop 是安排重复提示词的最快方式。传入可选的间隔和提示词,Hawa Code 就会设置一个 cron 作业,在会话保持打开时在后台触发。

/loop 5m 检查部署是否完成并告诉我发生了什么

Hawa Code 会解析间隔,将其转换为 cron 表达式,安排作业,并确认执行频率和作业 ID。

时间间隔配置

间隔是可选的。你可以将其放在前面、后面,或完全省略。

形式 示例 解析后的间隔
前置标记 /loop 30m 检查构建 每 30 分钟
后置设置时间间隔 /loop 检查构建 每两个小时 每 2 小时
无间隔 /loop 检查构建 默认为每 10 分钟

支持的单位有 s 表示秒、m 表示分钟、h 表示小时、d 表示天。由于 cron 的粒度为一分钟,秒数会向上取整到最接近的分钟。不能整除单位的间隔(如 7m90m)会四舍五入到最接近的干净间隔,Hawa Code 会告诉你它选择了什么。

循环执行其他命令

计划的提示词本身可以是命令或技能调用。这对于重新运行你已经打包好的工作流很有用。

/loop 20m /review-pr 1234

每次作业触发时,Hawa Code 都会运行 /review-pr 1234,就像你输入它一样。

单次定时执行任务

/loop 命令是周期性执行任务,如果需要在指定的时间单次执行一次任务,可以按照如下指令操作

创建定时任务、今天 13:00 执行项目发布

管理定时任务

你可以用自然语言让 Hawa Code 列出或取消任务,或者直接使用底层工具。

示例:查看任务列表

我有哪些定时任务?

示例:取消任务

取消部署检查任务

工具

Hawa Code 在后台使用以下工具管理定时任务:

工具 用途
CronCreate 安排新任务。接受 5 字段的 cron 表达式、要运行的提示词,以及是否重复执行或仅执行一次
CronList 列出所有定时任务,包括 ID、计划和提示词
CronDelete 通过 ID 取消任务

每个定时任务都有一个 8 字符的 ID,可以传递给 CronDelete 进行取消。一个会话最多可同时持有 50 个定时任务

定时任务的运行方式

调度器每秒检查一次到期任务,并以低优先级将它们加入队列。定时提示词在你的回合之间触发,而不是在 Hawa Code 正在响应时触发。如果任务到期时 Hawa Code 正忙,提示词会等到当前回合结束后才执行。

所有时间都按你的本地时区解释。例如,cron 表达式 0 9 * * * 表示你运行 Hawa Code 的当地时间的上午 9 点,而不是 UTC。

生命周期

定时任务是存在当前会话中的,如果 hawa code 被关闭,定时任务也会被中止

三天过期

重复任务在创建后 3 天自动过期。任务会最后一次触发,然后自动删除。这限制了被遗忘的循环任务可以运行的时间。