生成超过 500 个 PDF 超时并在 Larave/MPDF 中引发错误

问题描述

我正在为我的 Laravel 6 项目使用 (carlos-meneses/laravel-mpdf) 包。我有大约 550 个产品,我需要为它们生成两种语言(英语 + 中文)的 PDF。我已经设置了一个队列作业来在后台生成 PDF,它由一个玉米作业运行。

但是大约一分钟后,执行停止并抛出 504 错误

我已经设置好了 PHP max_execution_time = 600

但是,还是要超时。

$products_with_pdf = ProductDetail::whereNotNull('en_document_url')->orWhereNotNull('zh_document_url')
        ->chunk(10,function ($products) {
            RegenerateallPDFsOnDetailsUpdate::dispatch($products);
        });

解决方法

所以,最后我发现队列驱动程序默认是“同步”的。将其更改为“数据库”即可正常工作。