Параллельная обработка списка файлов в PHP - PullRequest
0 голосов
/ 13 октября 2019

У меня есть страница PHP (PHP на заднем плане, Vue.js на клиенте), которая получает пакет файлов для анализа (пользователь удаляет или отправляет zip-файл, содержащий несколько файлов). Ответ представляет собой отчет, содержащий глобальные результаты анализа всех файлов. Когда пакет содержит много файлов или большие файлы, ответ с отчетом может занять некоторое время.

Конечная цель - повысить производительность и сделать так, чтобы страница представляла отчет меньше времени. Я предполагаю, что возможно обрабатывать все файлы одновременно, а не один за другим, так что затраченное время - это время, занимающее обработку самого большого файла, а не сумма, необходимая для последовательной обработки всех файлов.

У меня нет кода для показа (кроме цикла PHP, который принимает файлы в ряд), на данный момент мои квесты чисто теоретические. Я читаю о различных вариантах добавления асинхронных в PHP (Amphp, ReactPHP, spatie/async, pthread, система очередей в Laravel), мне также известно о axios в Vue.js ... и я немного запутался

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

Возможно ли это вообще в PHP для начинающего / среднего разработчика?

Должна ли асинхронная часть находиться в той части, которая загружает файлы с клиента, или фактически обрабатывает их на сервере?

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