自动化定时任务
定时任务
用 hara cron 按计划运行 hara —— cron 表达式、间隔和一次性任务,由你的操作系统调度器触发。
hara cron 调度无人值守运行的任务。没有守护进程 —— 它向你的操作系统调度器
(macOS 上是 launchd,Linux 上是 crontab)注册一个每分钟一次的 tick,hara 会运行所有到期的任务。
调度一个任务
hara cron add "0 9 * * 1" "summarize last week's commits" --name weekly-digest
hara cron add "every 30m" "run the test suite and report failures"
hara cron add "in 2h" "draft release notes for the next version"调度可以是 cron 表达式、相对 间隔(every 30m、in 2h),或一个 ISO
时间戳。加上 --org 可让任务走 角色派发,而不是普通的无界面运行。
也可以直接在聊天里说——"每天早上九点查 Hacker News 给我发摘要"——agent 会通过 cronjob
工具自己管理任务(走审批门;由 cron 任务拉起的会话不能再建任务,调度不会雪崩)。
确定性通道、时区与结果送达
hara cron add "13 3 * * 1" "python3 scripts/export.py" --command --tz Asia/Shanghai \
--deliver feishu:oc_xxxx --name weekly-export--command把任务当普通 shell 命令跑——无 agent、零 token、精确退出码。固定脚本用它, 把模型留给需要判断的任务。--tz <IANA>把 cron 表达式钉在指定时区的墙钟上(添加时校验)。--deliver telegram:<chatId> | feishu:<chatId> | webhook:<url>把每次运行的结果(+输出尾部) 推到频道——一次性发送,不需要 gateway 常驻(用同一套环境变量)。连续失败 3 次在同频道 发一条 🚨 告警(6 小时冷却;每任务alertAfter可调)。
安装 tick
hara cron install # 向 launchd / crontab 注册每分钟一次的 tick
hara cron uninstall # 移除它管理任务
| 命令 | 作用 |
|---|---|
hara cron list | 列出任务(别名 ls) |
hara cron remove <id> | 删除一个任务(别名 rm) |
hara cron enable <id> · disable <id> | 保留任务但停止 / 恢复触发 |
hara cron run <id> | 立刻运行一个任务,忽略其计划 |
hara cron logs <id> | 显示某任务近期的运行输出 |
hara cron tick | 运行当前所有到期任务(这正是操作系统调度器调用的) |
任务保存在 ~/.hara/cron/jobs.json。无界面运行使用可恢复的会话,因此一个周期性任务
可以在自己之前的输出之上继续构建。
Was this helpful?