如何解决Laravel Excel 不分块和超时
这是我的控制器操作:
public function export() {
(new ItemsExport)->queue('items.xlsx')->chain([
new ExportItemsEmail(auth()->user()),]);
return redirect()->back()->with('success','File will be emailed to you once done.');
}
超级简单,我们排队导出(有5k多条记录,可以更多)
class ItemsExport implements FromQuery,ShouldQueue {
use Exportable;
public function query() {
return Item::query();
}
}
再次没什么特别的。
问题:Horizon 失败
我在地平线上收到此错误:
Illuminate\Queue\MaxAttemptsExceededException:Maatwebsite\Excel\Jobs\AppendQueryToSheet 尝试次数过多或运行时间过长。该作业之前可能已超时。在 /home/adam/Documents/flare/vendor/laravel/framework/src/Illuminate/Queue/Worker.PHP:736
从 the docs 开始,这是假设将它分块并启动许多作业。我曾经在 Horizon 中看到 2-3 个工作像明天一样处于待处理状态,然后由于上述错误而在死亡之前留下来。
我做错了吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。