标签: View::flushFinderCache()
-
在 Laravel 6 中遇到队列任务失败后,异常信息未写入 failed_jobs 表的问题。排查发现任务一直未结束也未失败,且表中无新增记录。通过在 .env 文件中禁用 Telescope 可以恢复记录,追溯根源为代码中执行 View::addLocation 后删除了目录导致。决定不再删除该目录后重新运行,任务成功失败且表中已正常增加记录。
-
文章记录了在 Laravel 6 中解决队列任务报错的过程。问题的根源在于队列执行时,每个任务虽调用了 View::addLocation,但 FileViewFinder 对象属性 $this->views 缓存了首个任务的视图路径,导致后续任务因访问已删除目录而失败。通过在任务中添加 View::flushFinderCache() 以清空视图缓存数组,成功确保每个任务使用正确的视图路径,解决了报错问题。
