
WP-Cron 并不是持续运行的系统定时器,它通常依赖页面访问触发。低流量、缓存或外部请求失败都可能让计划任务延迟。
1. 确认任务是否已注册
查看计划事件列表、下次运行时间和重复周期。若同一任务重复注册,应先修复插件逻辑。
2. 检查触发与回环请求
确认站点能访问自身的 wp-cron.php,DNS、HTTPS 和安全插件没有阻断回环请求。
3. 低流量站点改用系统 Cron
关闭页面访问触发后,由系统定时请求 wp-cron.php 或调用 WP-CLI。周期应短于关键任务允许的延迟。
4. 监控执行结果
计划任务开始不等于成功。为备份、邮件和同步任务记录完成时间、处理数量和失败原因。
常见误区
- 把 WP-Cron 当作精确定时器
- 系统 Cron 与页面触发同时开启
- 任务执行时间超过触发间隔
- 只看是否触发不看结果
执行检查清单
- 任务注册数量正常
- 回环请求可用
- 触发方式只有一种
- 关键任务有失败告警
总结
定时任务可靠性的关键是可观测。无论使用 WP-Cron 还是系统 Cron,都要能回答上次何时成功、处理了什么。