Skip to content
2026-09-29 04:20272 字AIOpenClawCronDaemon定时任务守护进程

Cron & Daemon 定时任务与守护进程 ​

源码路径:src/cron/ + src/daemon/

Cron 提供定时任务调度能力(按 cron 表达式执行 Agent 工作流),Daemon 负责将 OpenClaw 注册为系统服务。

核心职责 ​

模块职责
Cron Service定时任务调度(start/stop/list/add/update/remove/run)
Daemon Service跨平台系统服务注册

Cron Service ​

typescript
interface CronService {
  start(): Promise<void>;
  stop(): Promise<void>;
  list(): Task[];
  add(task): void;
  update(id, task): void;
  remove(id): void;
  run(id): Promise<void>;  // 手动触发
}
  • 有状态服务门面,包装无状态的 cron 操作
  • 支持标准 cron 表达式
  • 任务执行通过 Agent Engine

Daemon 平台适配 ​

平台服务管理器注册方式
macOSlaunchdplist 文件写入 ~/Library/LaunchAgents/
Linuxsystemdunit 文件写入 /etc/systemd/system/
Windowsschtasks通过 Task Scheduler API 注册
typescript
type GatewayService = {
  install(): Promise<void>;
  uninstall(): Promise<void>;
  start(): Promise<void>;
  stop(): Promise<void>;
  restart(): Promise<void>;
  status(): Promise<ServiceStatus>;
};

设计模式 ​

模式应用
门面模式CronService 包装底层 cron 操作
平台适配GatewayService 抽象统一平台差异

每一篇文章,都是时间的标本