@GrimJack

Как корректно организовать скрипт в таком случае?

Есть 7 файлов (для заполнения 7 разных полей, 6 файлов имеют одинаковое кол-во строк, предположим 1000, и 1 файл "сам по себе").
По сути - генерация постов. 1000 заголовков на 1 контент (берем грубо). Нужно их итеративно отправлять на указанный адрес постом (с этим проблем нет).
Если все данные отправить на сервер и там заниматься обработкой - сервер будет долго думать, таймауты и прочие нехорошие вещи.
Думал "разгрузить" сделав итеративность на клиенте (цикл с аяксом внутри), а"сборку" данных и отправку на сервере. Но тогда падает браузер из-за нехватки памяти.
Как лучше поступит? Крон не вариант. Может стоит рассмотреть очереди (краем уха про них слышал в ларавел, но еще не дошел до них)? Или есть более простые решения?
Не прошу решать за меня, просто натолкните на путь истинный
  • Вопрос задан
  • 313 просмотров
Пригласить эксперта
Ответы на вопрос 1
Очереди как раз самое то. Дополнительно создаете табличку, например, file_handlings, в которую будете писать текущий процесс обработки файла с примерно такой структурой id, total_rows, completed_rows. И процесс будет выглядеть примерно так:
1. загружаете файл на сервер
2. создаете запись в таблице file_handlings
3. возвращаете клиенту id из таблицы file_handlings
4. запускаете job на сервере, в job передаете id из таблицы file_handlings
5. в job'е обрабатываете файл и записываем в таблицу file_handlings по id текущий процесс обработки
6. с клиента ajax'ом время от времени дергаете сервер и получаете по id из таблицы file_handlings сколько строк обработалось
......
N. Все строки файла обработались, дальше делайте что вам нужно ;)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы