定时任务自动重试

4小时前更新 2 00

网络恢复后自动重试失

收录时间:
2026-02-26
定时任务自动重试定时任务自动重试
定时任务自动重试

技能简介

cron-retry 用于在检测到网络连接恢复后,自动重新执行因网络故障而失败的定时任务(cron jobs)。该技能与心跳机制集成,通过扫描失败任务状态并匹配网络错误模式,实现无人值守的故障自愈。

能做什么

  • 监控所有定时任务的执行状态,识别网络类错误
  • 在心跳周期内自动重试符合条件的失败任务
  • 区分可重试的网络错误与不可重试的逻辑/认证错误
  • 生成恢复报告,告知哪些任务已被重新执行

使用说明

安装与配置

无需单独安装。将以下检查逻辑添加到项目的 HEARTBEAT.md 文件:

## Cron Recovery Check
Check for cron jobs with lastStatus: "error". If the error matches network patterns (connection error, sendMessage failed, fetch failed, ETIMEDOUT, ECONNREFUSED), retry the job using cron tool with action: "run" and the job ID. Report what was recovered.

手动检查与重试

  1. 列出所有任务状态:clawdbot cron list
  2. 筛选失败任务:clawdbot cron list | jq '.jobs[] | select(.state.lastStatus == "error")'
  3. 重试指定任务:clawdbot cron run --id <JOB_ID>

输入与输出

见下方输入与输出表格。

项目内容
输入定时任务状态数据(含 lastStatus、lastError、enabled 等字段);网络错误关键词库(ETIMEDOUT、ECONNREFUSED 等)
输出恢复报告文本,包含成功重试的任务数及任务名称;无待恢复任务时返回空状态提示
适用人群运维自动化工程师、使用 Clawbot 定时任务功能的开发者、需要保障消息推送可靠性的业务团队
不包含定时任务本身的创建与管理;非网络类错误的处理;重试次数限制与退避策略配置

 

风险提示

  • 仅对网络类错误进行重试,逻辑错误或配置问题需人工排查
  • 已禁用的任务不会被重试
  • 依赖心跳机制触发检查,若心跳中断则无法自动恢复
  • 重试前会检查上次运行时间,避免短时间内重复执行

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/jrbobbyhansen-pixel/cron-retry/SKILL.md
来源类型:GitHub 仓库

数据统计

相关导航

暂无评论

none
暂无评论...