laravel требует слишком много времени для создания PDF-файла объемом более 2000 страниц одновременно

#php #mysql #laravel #laravel-snappy

#php #mysql #laravel #laravel-snappy

Вопрос:

Я работаю над проектом Laravel, который требует одновременной печати более 2000 страниц. Для генерации PDF-файла я использовал пакет Laravel snappy. Но проблема в том, что загрузка занимает много времени и в конечном итоге дает мне 504 error . Как я могу преодолеть эту проблему?

Есть ли какое-либо лучшее и более быстрое решение для выполнения такой операции? Есть ли какой-либо альтернативный способ печати непосредственно из базы данных текущего сервера? Я предоставляю ссылку ниже, которая напоминает аналогичную ситуацию: https://laracasts.com/discuss/channels/laravel/laravel-wkhtmltopdf-takin&-lon&-time-to-&enerate-pdf-with-more-than-30-pa&es

Комментарии:

1. вы могли бы превратить это в задание и запустить его в фоновом режиме, а затем, возможно, найти способ сообщить пользователю, что оно готово

Ответ №1:

Я не думаю, что есть простое решение вашей проблемы.

Более 2000 страниц в PDF означают огромное количество данных для любой библиотеки / языка, вероятно, вам просто не нужно создавать их на основе текущей транзакции.

Если применимо, вам следует зарегистрировать задание cron и создать PDF-файл в фоновом режиме. Или вы можете зарегистрировать задание, которое будет получено работником, и предоставить конечную точку, которую пользователь может опросить, чтобы проверить, завершен ли процесс сборки.