cron add
像给广播员新建一条排班:名字、时间、讲什么。
Cli 导读
新增的孤立 cron job 默认会通过 --announce 推送结果,想静默执行必须加 --no-deliver。编辑任务时用 --channel 和 --to 指定推送目标,--deliver 已废弃,改用 --announce。
先讲这一页到底在解决什么
新增的孤立 cron job 默认会通过 --announce 推送结果,想静默执行必须加 --no-deliver。编辑任务时用 --channel 和 --to 指定推送目标,--deliver 已废弃,改用 --announce。
第一站
整页其实都在讲排班表:谁什么时候开口,讲完要不要把结果送出去,出了错怎么重试,跑完后的旧记录留多久。
cron add像给广播员新建一条排班:名字、时间、讲什么。
cron edit像把已经上墙的排班表改一下,换投递方式、换频道、换轻装模式。
cron run像临时拍一下广播员肩膀说:“这条现在先手动排进去。”
cron runs像回头翻值班记录,看它后来到底跑没跑成。
第二站
官方在这页反复强调 delivery,因为这件事最容易搞混。
--announce像广播员讲完以后,真的拿着喇叭去 Telegram、Slack 这些门口播出去。
--no-deliver像这次只在后台悄悄做,不往外喊,结果留在内部自己消化。
官方提醒隔离式任务默认会送达,等于默认广播员会开口。你不想它说,就得显式让它闭嘴。
--deliver这是旧说法,官方已经把它当成 --announce 的老别名。像老门牌还在,但新牌子更标准。
第三站
--light-context 像“让广播员轻装上阵,只带小纸条,不背整箱背景资料”这条很关键,因为它决定任务运行时要不要把一整套 bootstrap 上下文都背上。
像广播员出门前背上完整资料包,信息多,但也更重。
--light-context像只带一句任务卡片出门,跑得更轻,少背一大包背景纸张。
官方说它只对这类任务真有意义,不是所有 cron 都会按同样方式轻装。
想快一点、轻一点,就少背 bootstrap 大包。
第四站
cron 不是只会按固定时刻死板地响。官方这页把“响完删不删”“出错后隔多久再试”都讲清楚了。
--at one-shot像只响一次的闹钟,响完默认自己从墙上消失。你要它留着,就带 --keep-after-run。
--tz <iana>像告诉闹钟“按哪座城市的墙上时钟算”。不写时区时,某些时间会被当成 UTC。
如果广播员连续几次摔跤,系统不会每秒都推他继续冲,而是 30 秒、1 分钟、5 分钟、15 分钟、60 分钟这样越摔越慢地再试。
cron run 只保证入队现在手动触发只会告诉你“已经排进队伍了”,像工作人员先给你发一张取号单。真跑得怎么样,要去 cron runs 看后续记录。
第五站
官方把日志和 session 保留策略单独提出来,是因为这类定时任务最容易悄悄越积越多。
cron.sessionRetention像已经播完的隔离会话多久后清走,默认是 24 小时。
cron.runLog.maxBytes / keepLines像给运行记录本规定页数和厚度,太厚了就裁掉旧页。
如果你家里还留着老版本 cron 纸条,官方建议跑 openclaw doctor --fix,像请整理员把旧排班表重抄成新格式。
cron 不只管“按时做”,还要管“做完别把仓库塞爆”。
最后总结
openclaw cron 压成一句话openclaw cron 就像给 Gateway 养一群按时工作的广播员:先排班,再决定要不要对外播报,轻装还是重装,失败后多久重试,最后把旧记录按规则收拾掉。