定时任务调度
Scheduled Task System
基于 Cron 表达式的定时任务调度,支持 Agent 查询和消息推送
子问题
1.Cron 表达式解析与调度
2.任务并发控制
3.心跳检查机制
4.任务状态追踪与错误处理
5.跨渠道结果推送
6.Cron 表达式多字段自动归一化(3/4/5 字段兼容)
7.Fire-and-forget 手动触发与异步错误回传
8.任务持久化的 Repository 抽象与原子写入
各项目的解法1 solutions
Signals
横向对比
| 维度 | CoPaw |
|---|---|
| 调度引擎 | APScheduler 3.x AsyncIOScheduler,CronTrigger + IntervalTrigger 双触发器 |
| 任务类型 | 双轨:text 直推固定文本 + agent 流式 stream_query 推送 |
| 并发控制 | per-job asyncio.Semaphore,max_concurrency 可配置 |
| 持久化方式 | Repository 模式 + JsonJobRepository 原子 tmp+replace 写入 |
| 心跳机制 | 独立 IntervalTrigger + HEARTBEAT.md 文件驱动 + 活跃时段窗口 |
| 任务生命周期 | 完整 CRUD + pause/resume/run API,四态状态追踪 |
| 错误推送 | console_push_store 内存缓冲 + 前端轮询获取 |
| Cron 表达式 | 5 字段标准 + 3/4 字段自动归一化,拒绝秒级 |
最佳实践
1.APScheduler 异步调度器配合 Semaphore 控制单任务并发
2.Repository 模式抽象持久化后端,tmp+replace 原子写入防损坏
3.HEARTBEAT.md 文件驱动心跳查询,编辑文件即可热更新无需重启
4.console_push_store 内存缓冲异步错误推送到前端