У меня есть страница PHP (PHP на заднем плане, Vue.js на клиенте), которая получает пакет файлов для анализа (пользователь удаляет или отправляет zip-файл, содержащий несколько файлов). Ответ представляет собой отчет, содержащий глобальные результаты анализа всех файлов. Когда пакет содержит много файлов или большие файлы, ответ с отчетом может занять некоторое время.
Конечная цель - повысить производительность и сделать так, чтобы страница представляла отчет меньше времени. Я предполагаю, что возможно обрабатывать все файлы одновременно, а не один за другим, так что затраченное время - это время, занимающее обработку самого большого файла, а не сумма, необходимая для последовательной обработки всех файлов.
У меня нет кода для показа (кроме цикла PHP, который принимает файлы в ряд), на данный момент мои квесты чисто теоретические. Я читаю о различных вариантах добавления асинхронных в PHP (Amphp
, ReactPHP
, spatie/async
, pthread
, система очередей в Laravel), мне также известно о axios
в Vue.js ... и я немного запутался
Буду признателен за любые указания и рекомендации о том, какой путь может быть более подходящим для этой конкретной задачи, чтобы я мог нырнуть туда и продолжать исследовать этот путь.
Возможно ли это вообще в PHP для начинающего / среднего разработчика?
Должна ли асинхронная часть находиться в той части, которая загружает файлы с клиента, или фактически обрабатывает их на сервере?