问题域/PD-266

定时调度

Scheduled Execution

基于Cron表达式的工作流定时执行系统

子问题

1.Cron表达式解析与校验

2.时区处理

3.优先级队列

4.执行配额管理

5.多 Pod 分布式防重复触发

6.Redis 故障时的并发控制降级

7.执行快照存储与精确重试

8.超额调度自动禁用与用户通知

各项目的解法1 solutions

Signals

横向对比

维度Refly
调度触发@Cron 每分钟扫描 + Redis 分布式锁 + 乐观锁防重复
队列架构BullMQ 单队列 + priority 字段 1-10 级优先级
并发控制Redis INCR 原子计数 + DB count 二次校验 + DelayedError 延迟重入
配额管理订阅等级配额(Free:1/Paid:20)+ 超额自动禁用 + 邮件通知
执行状态6 态生命周期 scheduled→pending→processing→running→success/failed
容错机制OSS 快照重试 + Redis 故障 DB fallback + 错误分类 11 种
可观测性OTel Counter 指标 + 结构化错误分类 + 邮件通知

最佳实践

1.使用BullMQ延迟任务而非轮询实现定时

2.乐观锁 updateMany+WHERE 防多 Pod 重复触发

3.Redis INCR 快路径 + DB count 慢路径双层并发控制

4.6 态执行记录让前端可追踪每个调度阶段