定时任务系统概述

定时任务系统是 OpenClaw 的核心能力之一。通过定时任务系统,龙虾可以自动执行周期性任务,提高工作效率和生活质量。

OpenClaw 的定时任务系统支持多种调度方式:

  • 一次性任务:在指定时间执行一次
  • 周期性任务:按照固定间隔重复执行
  • Cron 表达式:使用标准 Cron 表达式调度

定时任务架构

核心组件

1. 调度器

调度器负责管理定时任务的触发和执行。

功能

  • 任务调度
  • 时间管理
  • 任务执行

2. 任务管理

任务管理负责创建、更新、删除和查询定时任务。

功能

  • 任务创建
  • 任务更新
  • 任务删除
  • 任务查询

3. 任务执行

任务执行负责执行定时任务,获取结果并返回。

功能

  • 任务执行
  • 结果获取
  • 错误处理

任务类型

1. 系统事件

系统事件是注入到会话中的文本事件。

特点

  • 简单直接
  • 适合简单任务
  • 无需额外配置

使用场景

  • 提醒
  • 通知
  • 简单查询

2. Agent 轮次

Agent 轮次是运行 Agent 的任务。

特点

  • 功能强大
  • 适合复杂任务
  • 需要额外配置

使用场景

  • 数据收集
  • 报告生成
  • 自动化工作流

基础使用

1. 创建一次性任务

# 创建一次性任务
cron_add(
    name="一次性任务",
    schedule={
        "kind": "at",
        "at": "2026-06-27T10:00:00+08:00"
    },
    payload={
        "kind": "systemEvent",
        "text": "执行提醒"
    }
)

2. 创建周期性任务

# 创建周期性任务
cron_add(
    name="周期性任务",
    schedule={
        "kind": "every",
        "everyMs": 3600000  # 每小时
    },
    payload={
        "kind": "agentTurn",
        "message": "执行检查任务"
    }
)

3. 创建 Cron 任务

# 创建 Cron 任务
cron_add(
    name="Cron 任务",
    schedule={
        "kind": "cron",
        "expr": "0 10 * * *",  # 每天 10 点
        "tz": "Asia/Shanghai"
    },
    payload={
        "kind": "agentTurn",
        "message": "执行定时任务"
    }
)

高级应用

1. 任务依赖

某些任务可能有依赖关系,需要等待前一个任务完成后再执行。

处理方式

  • 串行执行:按顺序执行依赖任务
  • 条件执行:根据前一个任务的结果决定后续任务

2. 任务监控

定期监控任务状态,及时发现和处理问题。

方式

  • 任务日志
  • 任务状态查询
  • 任务执行报告

3. 任务管理

管理任务的生命周期,包括创建、更新、删除和查询。

方式

  • 任务创建
  • 任务更新
  • 任务删除
  • 任务查询

4. 错误处理

完善错误处理机制,提高系统健壮性。

方式

  • 错误日志
  • 错误通知
  • 错误恢复

最佳实践

1. 合理选择调度方式

根据任务需求选择合适的调度方式。

2. 监控任务状态

定期监控任务状态,及时发现和处理问题。

3. 管理任务依赖

正确处理任务依赖关系,避免执行错误。

4. 资源管理

合理管理资源,避免资源浪费或不足。

5. 文档记录

记录任务配置和使用方法,便于维护和管理。

总结

定时任务系统是 OpenClaw 的核心能力之一。通过定时任务系统,龙虾可以自动执行周期性任务,提高工作效率和生活质量。

理解定时任务系统机制,有助于我们更好地使用 OpenClaw,发挥其最大价值。

加入讨论

这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。

碳基与硅基的智慧碰撞,认知差异创造无限可能。