Cron 精确调度

SKILL运维和基础设施
运维和基础设施 未标注权限 许可证不明确
安装这个技能

cron精确调度,心跳会漂移cron不会

一句话选型结论

按资料字段整理

Cron 精确调度是运维和基础设施类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类运维和基础设施 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install zcwl/cron-precision-scheduler
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

运维和基础设施
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方zcwl仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 enterprise
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791623554
正文体量12.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查服务与日志

按现象定位服务状态与日志线索。

写部署与巡检脚本

把重复的部署、巡检写成脚本。

故障排查

按步骤排查网络、依赖与配置。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在运维和基础设施场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Cron 精确调度当前 未标注权限 未标注 未标注 未标注 有
Azure 部署 调用外部服务 GitHub 仓库 664.2 万 Codex、Claude、Cursor 有
Azure diagnostics 问题管理 调用外部服务 GitHub 仓库 657.6 万 Codex、Claude、Cursor 有
Azure aigateway 部署 调用外部服务 GitHub 仓库 655.3 万 Codex、Claude、Cursor 有
Azure AI 搜索 调用外部服务 GitHub 仓库 651.4 万 Codex、Claude、Cursor 有
Azure Cloud migrate 部署 调用外部服务 GitHub 仓库 650.7 万 Codex、Claude、Cursor 有

SKILL.md 全文

12.6 KB
模型实际读到的说明书原文,来自技能仓库

Cron 精确调度技能

核心准则: 心跳会漂移, cron 不会。

本技能提供时间管理的实用指南,解决"我错过了提醒"问题,通过强制区分随手检查(heartbeat)与硬性调度(cron)两类机制,确保提醒准时送达。

触发条件

当用户表达以下意图时,触发本技能:

触发类型 触发词/场景示例 适用动作
定时提醒 "设置提醒"、"提醒我"、"X分钟后叫我" 创建一次性 cron 任务
周期任务 "每天X点"、"每周一"、"定时执行"、"周期任务" 创建周期 cron 任务
调度关键词 "cron"、"计划任务"、"定时任务"、"调度" 进入调度模式
任务清理 "清理过期任务"、"删除旧任务"、"janitor" 触发自动清理
排障请求 "提醒没响"、"任务没触发"、"cron 失效" 进入错误处理流程

强制触发规则:
- 用户提到"cron"、"定时"、"提醒"、"调度"任意关键词时,优先调用本技能
- 用户描述的延迟超过 1 分钟时,禁止使用 act:wait,必须改用 cron
- 用户要求"X点"、"每天"、"每周"等时间点触发时,默认进入 cron 模式

核心原则

机制 行为 风险
心跳(Heartbeat) "有空就检查"(每 30-60 分钟) 漂移: "10 分钟后提醒"在 30 分钟心跳下必然失败
Cron "在 X 时刻准时执行" 冗余: 一次性任务需要清理

一、设置可靠提醒

规则: 禁止对长延迟(>1 分钟)使用 act:wait。改用 cron:add 配合一次性 at 调度。

一次性提醒模式

  • 负载选择: 推送通知用 AgentTurn + 严格指令;静默日志用 systemEvent
  • 自动清理: 一次性任务成功后自动删除(deleteAfterRun: true)

企业微信推送提醒:

{
  "name": "提醒: 喝水",
  "schedule": { "kind": "at", "at": "2026-02-06T13:30:00+08:00" },
  "payload": {
    "kind": "agentTurn",
    "message": "DELIVER THIS EXACT MESSAGE:\n\n该喝水了!"
  },
  "sessionTarget": "isolated",
  "delivery": { "mode": "announce", "channel": "wecom", "to": "user_id" }
}

钉钉推送提醒:

{
  "name": "提醒: 站会",
  "schedule": { "kind": "at", "at": "2026-02-06T09:55:00+08:00" },
  "payload": {
    "kind": "agentTurn",
    "message": "DELIVER THIS EXACT MESSAGE:\n\n5 分钟后开站会"
  },
  "sessionTarget": "isolated",
  "delivery": { "mode": "announce", "channel": "dingtalk", "to": "user_id" }
}

飞书推送提醒:

{
  "name": "提醒: 周报",
  "schedule": { "kind": "at", "at": "2026-02-06T17:30:00+08:00" },
  "payload": {
    "kind": "agentTurn",
    "message": "DELIVER THIS EXACT MESSAGE:\n\n下班前提交周报"
  },
  "sessionTarget": "isolated",
  "delivery": { "mode": "announce", "channel": "feishu", "to": "user_id" }
}

静默后台日志:

{
  "name": "日志: 心跳",
  "schedule": { "kind": "every", "everyMs": 3600000 },
  "payload": { "kind": "systemEvent", "text": "[PULSE] 系统正常" },
  "sessionTarget": "main"
}

二、自动清理(Janitor)

手动清理仅适用于以下情况:
- 以 deleteAfterRun: false 创建的一次性任务
- 不再需要的过期周期任务

系统维护任务始终通过 systemEvent 投递到 main 会话,由主 Agent 执行清理。

三、时区锁定

cron 正常运行的前提是 Agent 必须知道当前时间。
- 动作: 将用户时区写入 MEMORY.md(如 Asia/Shanghai)
- 校验: 用户说"晚上 9 点提醒我"时,必须先确认时区再调度
- 格式: 调度时间戳使用 ISO 8601 带偏移格式(如 2026-02-06T21:00:00+08:00)

四、自唤醒规则

  • 等待 < 1 分钟(交互式): 保持工具循环开启(使用 act:wait)
  • 等待 > 1 分钟(异步): 使用 Cron 并设置 wakeMode: &quot;now&quot;

错误处理

结构化错误码

错误码 错误场景 根因 处理步骤
ERR-001 提醒未触发 at 时间戳已过去或时区错位 1. 执行 cron:list 查看任务; 2. 核对时间戳是否在未来且时区正确; 3. 确认 wakeMode: &quot;now&quot; 已设置; 4. 重新创建任务
ERR-002 网关超时 任务列表过大或状态文件损坏 1. 备份并删除 ~/.skill-platform/state/cron/jobs.json; 2. 重启 Agent 平台; 3. 重新创建必要任务
ERR-003 任务名冲突 同名任务已存在 1. 执行 cron:list 查找同名任务; 2. 删除或重命名旧任务; 3. 使用唯一名称重新创建
ERR-004 时区未设置 MEMORY.md 缺少时区字段 1. 询问用户所在时区; 2. 写入 MEMORY.md; 3. 用 ISO 8601 带偏移格式重建任务
ERR-005 推送通道失败 企业微信/钉钉/飞书 webhook 失效或额度耗尽 1. 核对 channel 与 to 字段; 2. 检查 webhook 是否过期; 3. 切换备用通道重发; 4. 记录失败任务待补发
ERR-006 任务重复创建 重复调用 cron:add 导致同名任务堆积 1. 创建前执行 cron:list 检查同名任务; 2. 使用 name 字段加时间戳后缀确保唯一; 3. 批量清理重复任务
ERR-007 周期任务执行间隔异常 everyMs 计算错误或单位混淆(秒与毫秒) 1. 确认 everyMs 单位为毫秒(1秒=1000ms); 2. 使用 schedule.kind: &quot;cron&quot; 配合 cron 表达式替代; 3. 验证执行日志间隔
ERR-008 任务状态文件损坏 jobs.json 被外部进程修改或磁盘写入中断 1. 停止 Agent 平台; 2. 备份并删除状态文件; 3. 重启平台后重建关键任务; 4. 启用文件锁或原子写入

排障速查

  • "提醒没响": 见 ERR-001,先查 cron:list 再核时间戳
  • "任务执行了但没消息": 改用 AgentTurn + announce 模式主动推送
  • "网关超时": 见 ERR-002,清理状态文件后重启

能力边界

能做什么

  • 精确到分钟级的定时提醒(受网关心跳周期约束)
  • 周期性任务调度(每小时、每天、每周)
  • 一次性任务执行后自动清理
  • 时区锁定与自唤醒,避免长延迟漂移
  • 通过企业微信、钉钉、飞书推送消息到指定用户

不能做什么

  • 不能保证毫秒级精度(执行延迟取决于网关心跳,约 10-60 秒)
  • 不能在无 LLM 环境下独立运行(依赖 Agent 平台)
  • 不能替代操作系统级 crontab(仅作用于 Agent 会话内)
  • 不能处理复杂日历规则(如"每月最后一个工作日"、"农历节日")
  • 不能跨 Agent 实例共享任务状态(任务仅存于本机状态文件)

常见问题(FAQ)

Q1: 提醒没有按时触发,如何排查?

A: 按以下顺序检查: 1) 执行 cron:list 确认任务存在; 2) 核对 at 时间戳是否在未来且时区正确; 3) 确认 wakeMode: &quot;now&quot; 已设置; 4) 查看 MEMORY.md 中时区是否已写入。对应错误码 ERR-001。

Q2: 一次性任务执行后需要手动清理吗?

A: 不需要。只要创建时设置 deleteAfterRun: true,任务成功执行后会自动删除。仅当显式设置 deleteAfterRun: false 时,才需要手动清理或交给 Janitor 处理。

Q3: 心跳模式和 cron 模式如何选择?

A: 看延迟时长与精度要求。延迟 < 1 分钟且需要交互时用心跳(act:wait); 延迟 > 1 分钟或要求"准点触发"时必须用 cron。记住核心准则: 心跳会漂移,cron 不会。

Q4: 如何确保时区正确,避免"晚上 9 点"歧义?

A: 创建任务前必须先确认用户时区并写入 MEMORY.md。调度时间戳统一使用 ISO 8601 带偏移格式(如 2026-02-06T21:00:00+08:00),不要用 UTC 让用户自行换算。对应错误码 ERR-004。

Q5: 国内平台推送失败怎么办?

A: 见错误码 ERR-005。常见原因: webhook 过期、to 字段填错、调用额度耗尽。排查步骤: 1) 核对 channel(wecom/dingtalk/feishu)与 to 字段; 2) 在对应平台后台测试 webhook; 3) 切换备用通道重发; 4) 记录失败任务待补发。

Q6: 网关超时后任务数据会丢失吗?

A: 会丢失本机状态文件中的任务。任务状态存储在 ~/.skill-platform/state/cron/jobs.json,损坏时需删除并重建。建议对关键任务保留创建参数备份,以便重建。对应错误码 ERR-002。

Q7: 如何防止任务重复创建?

A: 见错误码 ERR-006。建议做法: 1) 创建前先执行 cron:list 检查同名任务; 2) 在 name 字段中加入时间戳或唯一标识后缀(如 提醒:喝水_20260206); 3) 对周期任务使用固定名称便于管理和替换。

Q8: 周期任务执行间隔不稳定怎么办?

A: 见错误码 ERR-007。everyMs 字段单位为毫秒,常见错误是将秒数直接填入。正确换算: 1分钟=60000ms, 1小时=3600000ms。若需更精确的调度,改用 schedule.kind: &quot;cron&quot; 配合标准 cron 表达式(如 0 9 * * 1-5 表示工作日9点)。

实践建议

  • 创建任务前先 cron:list 检查是否已有同名任务,避免重复
  • 一次性任务始终设置 deleteAfterRun: true,防止任务堆积
  • 关键任务保留创建参数备份,以便状态文件损坏后快速重建
  • 周期任务优先使用 cron 表达式而非 everyMs,调度更精确
  • 时区信息写入 MEMORY.md 后,所有时间戳统一使用 ISO 8601 带偏移格式
  • 推送通道建议配置至少两个(如企业微信+钉钉),互为备用
  • 定期执行 Janitor 清理过期任务,保持任务列表简洁

文档参考

  • ISO 8601 时间格式标准: https://www.iso.org/iso-8601-date-and-time-format.html
  • Cron 表达式语法: https://crontab.guru/
  • 企业微信 webhook 文档: https://developer.work.weixin.qq.com/document/path/91770
  • 钉钉自定义机器人: https://open.dingtalk.com/document/robots/custom-robot-access
  • 飞书消息卡片: https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/feishu-cards/card-json-structure

依赖说明

运行环境

  • Agent 平台: 支持 SKILL.md 的任意 AI Agent
  • 操作系统: Windows / macOS / Linux

依赖项

依赖项 类型 是否必需 获取方式
LLM API API 必需 由 Agent 内置 LLM 提供

可用性分类

  • 分类: MD+EXEC(纯 Markdown 指令,部分功能需要 exec 命令行执行能力)

核心能力

  • 精确 cron 调度与心跳机制分离
  • 可靠提醒设置与自动清理
  • 时区锁定与自唤醒规则
  • 国内平台(企业微信/钉钉/飞书)消息推送

适用场景

场景 输入 输出
定时提醒 时间+消息 cron 一次性任务
周期报告 频率+内容 cron 周期任务
系统巡检 周期+检查项 静默 systemEvent 日志
任务清理 过期任务列表 Janitor 清理指令

运行时异常预防

为提升调度稳定性,执行过程中应遵循以下预防措施:

  • 任务去重: 创建前执行 cron:list 检查同名任务,避免重复堆积
  • 自动清理: 一次性任务设置 deleteAfterRun: true,无需手动干预
  • 时区校验: 调度前确认 MEMORY.md 中时区字段存在,时间戳使用 ISO 8601 带偏移格式
  • 通道冗余: 配置至少两个推送通道(如企业微信+钉钉),单通道故障时自动切换
  • 状态备份: 关键任务的创建参数保留备份,状态文件损坏后可快速重建
  • 间隔校验: 使用 everyMs 时确认单位为毫秒,或改用 cron 表达式避免换算错误
  • 日志监控: 周期任务执行后检查日志输出,确认任务按预期触发

Related Skills

与本技能相关的其他技能方向(在 SkillHub 平台检索对应名称):

  • reminder-engine: 通用提醒引擎,支持自然语言时间解析与多通道推送
  • schedule-manager: 日程管理技能,集成日历视图与冲突检测
  • task-queue-manager: 任务队列管理,支持优先级调度与依赖编排
  • timer-alert: 简易计时器,适用于短延迟(< 1 分钟)交互式等待场景

使用流程

  1. 确认运行环境满足依赖说明
  2. 根据场景选择 heartbeat 或 cron 模式
  3. 设置 timezone 并创建任务
  4. 验证任务执行结果
  5. 失败时按错误码表排查

常见问题

5 问
答案由本站依据条目字段整理
Cron 精确调度怎么安装?

在支持 Skills 的客户端里执行:skillhub install zcwl/cron-precision-scheduler。安装方式为未标注。装完刷新技能列表或重开客户端。

Cron 精确调度支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Cron 精确调度权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Cron 精确调度收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Cron 精确调度用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。