问题域/PD-487

定时任务调度

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 内存缓冲异步错误推送到前端