Создание thumbanails из изображений 10-20 параллельно одновременно с PHP - PullRequest
0 голосов
/ 03 февраля 2012

У меня большой импорт, где мне нужно создать для каждой записи миниатюру изображения. Проблема в том, что, когда сервер не самый быстрый, для каждой записи мне нужно 1-2 секунды, чтобы импортировать ее с миниатюрой в БД. Это огромное время на 200 тысяч строк.

Есть ли в PHP библиотека, где я могу начать, например, создание 10-20 миниатюр в виде потоков, параллельных в одно и то же время, поэтому я надеюсь увеличить импорт в 10 раз, я надеюсь.

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

Php предоставляет функции как pcnlt_fork(), но они должны использоваться только из сценариев CLI.Нет никакого способа сделать ваш веб-скрипт параллельным.Однако вы всегда можете выполнить (например) скрипт bash, который будет запускать imagemagick resize ... &.Но, как правило, лучше всего подготовить cronjob, который будет генерировать миниатюры в фоновом режиме.

0 голосов
/ 03 февраля 2012

Возможно, вам стоит взглянуть на увеличение лимита памяти PHP. Больше памяти может позволить PHP обрабатывать каждое изображение быстрее. Если у вас PHP обрабатывает несколько изображений одновременно, то, скорее всего, каждое из них будет обрабатываться медленнее, и в итоге вы получите одинаковую или худшую общую скорость.

Кроме того, почему вы храните изображения в БД? Возможно, вам следует вместо этого сохранить их в файловой системе и просто сохранить ссылку на их расположение в БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...