Copaw Cron Heartbeat

CoPaw 定时任务与心跳机制

CoPaw 支持定时任务和心跳机制,可以按预设时间自动执行任务或定期检查。本文介绍定时任务和心跳的配置和使用。

定时任务

定时任务(Cron Jobs)允许你在指定时间自动执行任务。

任务类型

CoPaw 支持两种定时任务类型:

文本类型

:发送固定消息

Agent 类型

:向 CoPaw 提问并转发回复

配置定时任务

通过控制台

  1. 进入控制台 控制 → 定时任务
  2. 点击 + 创建任务
  3. 填写表单:

基本信息

  • 任务 ID:如 job-001
  • 任务名称:如「每日摘要」
  • 启用:打开开关

调度

  • Cron 表达式:如 0 9 (每天上午 9 点)
  • 时区:选择时区

任务类型及内容

  • 选择类型:文本或 Agent
  • 填入内容:

文本类型:

早上好!今天是 2024年3月15日,祝你有愉快的一天。

Agent 类型:

总结今天的待办事项和重要通知。

投递

  • 目标频道:如 Console、钉钉
  • 目标用户:选择用户
  • 投递方式:流式(实时发送)或最终(完成后一次性发送)

高级选项

  • 最大并发数:默认 10
  • 超时时间:默认 300 秒
  • 宽限时间:默认 60 秒
  1. 点击保存

通过对话创建

最简单的方式是直接与 CoPaw 对话:

你:帮我创建一个定时任务,每隔 5 分钟提醒我喝水。

CoPaw:好的,我已经为你创建了一个定时任务,每隔 5 分钟会提醒你喝水。

通过 CLI

# 创建定时任务

copaw cron create

列出所有任务

copaw cron list

暂停任务

copaw cron pause <task_id>

恢复任务

copaw cron resume <task_id>

删除任务

copaw cron delete <task_id>

立即执行任务

copaw cron run <task_id>

Cron 表达式

Cron 表达式由 5 个字段组成:

分 时 日 月 周

| 字段 | 范围 | 说明 |

|------|------|------|

| 分 | 0-59 | 分钟 |

| 时 | 0-23 | 小时 |

| 日 | 1-31 | 日期 |

| 月 | 1-12 | 月份 |

| 周 | 0-7 | 星期(0 和 7 都是周日) |

常用 Cron 表达式

| 表达式 | 说明 |

|--------|------|

| 0 9

| 每天上午 9 点 |

| 0 /2

| 每 2 小时 |

| 0 0 0

| 每周日午夜 |

| 0 9 1-5

| 周一到周五上午 9 点 |

| 0 0 1

| 每月 1 日午夜 |

| /15

| 每 15 分钟 |

管理定时任务

编辑任务

  1. 进入控制台 控制 → 定时任务
  2. 点击任务行的编辑按钮
  3. 修改任意字段
  4. 点击保存

启用 / 禁用任务

  • 点击任务行内的开关即可

立即执行一次

  • 点击立即执行 → 确认

删除任务

  • 点击删除 → 确认

心跳机制

心跳(Heartbeat)是 CoPaw 的定期检查机制,可以按固定间隔用预设的问题询问 CoPaw,并可选择将回答发到指定频道。

配置心跳

通过控制台

  1. 进入控制台 控制 → 心跳
  2. 填写配置:

基本信息

  • 心跳 ID:如 heartbeat-daily
  • 心跳名称:如「每日检查」

调度

  • 间隔时间:如 3600(秒,即 1 小时)

提示词

检查今天的待办事项、重要通知和最新消息。

投递

  • 目标频道:如钉钉
  • 目标用户:选择用户
  1. 点击保存

通过工作区文件

编辑 ~/.copaw/HEARTBEAT.md

# 心跳检查

每日检查

提示词:

检查今天的待办事项和重要通知。


间隔:3600 秒

频道:钉钉

每周检查

提示词:

总结本周工作和计划下周。


间隔:604800 秒

频道:钉钉

心跳场景

场景 1:定期检查待办

## 待办检查

提示词:列出今天的待办事项。

间隔:3600 秒(每小时)

频道:钉钉

场景 2:定期汇总新闻

## 新闻汇总

提示词:汇总最新的科技新闻。

间隔:7200 秒(每 2 小时)

频道:Discord

场景 3:定期自我检查

## 系统检查

提示词:

检查系统状态和重要事项。

  1. 检查是否有未读邮件
  2. 检查日程安排
  3. 检查项目进度

间隔:28800 秒(每 8 小时)

频道:Console

定时任务 vs 心跳

| 特性 | 定时任务 | 心跳 |

|------|----------|------|

| 配置方式 | 控制台或 CLI | 控制台或文件 |

| 触发方式 | Cron 表达式 | 固定间隔 |

| 任务内容 | 文本或 Agent 提问 | Agent 提问 |

| 灵活性 | 高(支持复杂 Cron) | 中(固定间隔) |

| 适用场景 | 精确时间、定期执行 | 定期检查、监控 |

实战案例

案例 1:每日工作提醒

需求

:每个工作日早上 9 点发送工作提醒

配置

  • Cron 表达式:0 9 1-5
  • 任务类型:Agent
  • 提示词:

列出今天的工作计划、会议安排和重要待办。

  • 目标频道:钉钉

案例 2:喝水提醒

需求

:每隔 2 小时提醒喝水

配置

  • Cron 表达式:0 /2
  • 任务类型:文本
  • 内容:记得喝水!保持健康 💧
  • 目标频道:钉钉

案例 3:每周总结

需求

:每周日晚上生成工作总结

配置

  • Cron 表达式:0 20 0
  • 任务类型:Agent
  • 提示词:

总结本周完成的工作、遇到的问题和下周计划。

  • 目标频道:钉钉

案例 4:定期检查邮件

需求

:每小时检查一次新邮件

配置

(心跳):

  • 间隔:3600 秒
  • 提示词:

检查是否有新邮件,如有则汇总。

  • 频道:钉钉

命令行操作

# 定时任务

copaw cron create # 创建任务

copaw cron list # 列出任务

copaw cron pause <id> # 暂停任务

copaw cron resume <id> # 恢复任务

copaw cron delete <id> # 删除任务

copaw cron run <id> # 立即执行

查看心跳配置

cat ~/.copaw/HEARTBEAT.md

常见问题

Q: Cron 表达式 0 9 * 1-5 是什么意思?

A: 表示周一到周五每天上午 9 点执行。

Q: 如何测试定时任务?

A: 可以点击控制台中的「立即执行」按钮,或使用 CLI 命令 copaw cron run

Q: 心跳和定时任务有什么区别?

A: 心跳使用固定间隔,适合定期检查;定时任务使用 Cron 表达式,适合精确时间执行。

Q: 如何临时禁用定时任务?

A: 在控制台中关闭任务开关即可,或使用 CLI copaw cron pause

相关资源

发表回复

后才能评论