配置文件示例(如 config.yaml 或 settings.py)

openclaw openclaw官方 1

OpenClaw 定时任务配置主要通过 crontab 表达式时间间隔参数 实现,以下是核心配置参数说明:

配置文件示例(如 config.yaml 或 settings.py)-第1张图片-OpenClaw开源下载|官方OpenClaw下载

基本配置参数

  enabled: true                    # 是否启用定时任务
  timezone: "Asia/Shanghai"        # 时区设置
  max_instances: 3                 # 同一任务最大并发实例数

定时表达式格式

Cron 格式(推荐)

# 类 crontab 的 7 字段格式
# 秒 分 时 日 月 周 年(可选)
"*/30 * * * * *"      # 每30秒执行
"0 */5 * * * *"       # 每5分钟执行
"0 0 */2 * * *"       # 每2小时执行
"0 0 2 * * *"         # 每天凌晨2点执行
"0 0 9-18 * * 1-5"    # 工作日9-18点整点执行

间隔执行格式

{
  "interval": 300,      # 每300秒(5分钟)执行
  "interval": "1h",     # 每1小时执行(支持单位:s/m/h/d)
}

任务特定参数

task_config = {
    "task_name": "数据采集任务",
    "task_type": "spider",         # 任务类型:spider/clean/export等
    "schedule": "0 */2 * * * *",   # 每2分钟执行
    "params": {                    # 任务自定义参数
        "start_url": "https://example.com",
        "depth": 3,
        "proxy_enabled": true
    },
    "retry_policy": {              # 重试策略
        "max_retries": 3,
        "retry_delay": 60          # 失败后60秒重试
    },
    "timeout": 1800,               # 任务超时时间(秒)
    "enabled": true,               # 是否启用
    "start_date": "2024-01-01",    # 开始日期
    "end_date": "2024-12-31"       # 结束日期
}

数据库持久化配置

jobstore:
  type: "sqlalchemy"               # 存储类型:memory/sqlalchemy/redis
  url: "sqlite:///jobs.sqlite"     # 数据库连接
  tablename: "openclaw_jobs"       # 表名
  cleanup_interval: 3600           # 清理间隔(秒)

分布式任务配置

distributed:
  enabled: true
  broker_url: "redis://localhost:6379/0"   # 消息队列地址
  backend_url: "redis://localhost:6379/1"  # 结果存储地址
  queue_name: "openclaw_tasks"             # 队列名称
  concurrency: 4                           # 并发工作进程数

监控与日志

monitoring:
  log_level: "INFO"
  log_file: "/var/log/openclaw/scheduler.log"
  metrics_enabled: true
  statsd_host: "localhost"
  statsd_port: 8125

示例配置文件

# config/scheduler.py
from datetime import datetime
JOBS = [
    {
        'id': 'daily_crawl',
        'func': 'tasks.crawl:main',
        'args': (),
        'kwargs': {'site': 'target_site'},
        'trigger': 'cron',
        'hour': 2,
        'minute': 30,
        'timezone': 'Asia/Shanghai'
    },
    {
        'id': 'hourly_check',
        'func': 'tasks.monitor:check_status',
        'trigger': 'interval',
        'minutes': 60,
        'start_date': datetime(2024, 1, 1, 0, 0, 0)
    }
]

命令行启动参数

# 启动定时任务服务
openclaw scheduler start \
  --config /path/to/config.yaml \
  --log-level INFO \
  --daemon
# 管理命令
openclaw scheduler pause <job_id>     # 暂停任务
openclaw scheduler resume <job_id>    # 恢复任务
openclaw scheduler list               # 查看任务列表

注意事项

  1. 时区问题:确保服务端和配置的时区一致
  2. 任务去重:长时间运行任务需考虑防止重复执行
  3. 资源限制:根据服务器性能调整并发数
  4. 异常处理:配置合理的重试和报警机制

具体配置可能因 OpenClaw 版本而有所不同,建议查阅对应版本的官方文档或源码中的调度模块。

标签: 配置文件 示例

抱歉,评论功能暂时关闭!