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

基本配置参数
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 # 查看任务列表
注意事项
- 时区问题:确保服务端和配置的时区一致
- 任务去重:长时间运行任务需考虑防止重复执行
- 资源限制:根据服务器性能调整并发数
- 异常处理:配置合理的重试和报警机制
具体配置可能因 OpenClaw 版本而有所不同,建议查阅对应版本的官方文档或源码中的调度模块。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。