标签: run too long
-
针对 Laravel 9 中 Job 运行报错超过尝试次数或运行超时的问题,文章记录了基于 chunk 方法处理 876 万条数据时的排查与优化过程。通过对比每次处理 10 条、1000 条及 10000 条记录的平均耗时,发现每次 1000 条记录的处理效率最高且内存占用较少。最终结合测试数据决定限制最大导出行数为 10 万条,在性能环境中实际测试,导出 10 万行 Excel 总耗时 107 秒,问题得到解决。
-
针对在 Windows 10 中测试任务超时功能无效的问题,文章记录了在 Laravel 6 线上 Linux 服务器中进行测试的过程。在 Job 中添加长时间 sleep 后发现设置未生效,经排查确认是因为队列处理器作为常驻进程会在内存中保留启动时的应用状态,导致无法检测到代码变更。通过执行 php artisan queue:restart 命令重启队列处理器后,再次执行任务超过限制时间自动失败,结果符合预期。
