Задать вопрос
@generate
...

При работе одного скрипта ложиться весь сайт, как сделать правильно?

Есть скрипт он парсит большой json оттуда берет картинки загружает на сервер, остальные поля добавляет в базу. В одном json больше ста объектов, когда запускаю скрипт он долго обрабатывается потому что там много информации. Но при этом весь сайт перестает работать. Как решить эту проблему ? по одному не вариант.
  • Вопрос задан
  • 249 просмотров
Подписаться 2 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
dima9595
@dima9595
Junior PHP
По крону; в другом потоке; используя очереди...
Ответ написан
Комментировать
@mletov
Вводных явно недостаточно.
Непонятно где узкое место. На уровне базы? Или серверу оперативки не хватает? Если второе, то может характеристики сервака увеличить?
Тут можно предложить только экспериментальные решения:

- Перед запуском скрипта создавать копию базы, импортировать в нее, а потом подменять копию базы обновленной копией.

- Разбивать прилетевший json на несколько json меньшего размера, скажем, если там 100 объектов, то, к примеру, на 10 файлов по 10 объектов и загружать их с некоторым временным промежутком.
Ответ написан
@rPman
что значит перестает работать? какую ошибку пишет клиенту?

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

Однозначно, любой сервер можно 'убить' плохо написанным кодом, ищите проблемы.
Ответ написан
Adamos
@Adamos
"Берет картинки" - это, видимо, url, и за каждым он тянется наружу, а весь остальной мир пусть подождет?
Стоит парсить файл, писать в базу данные (не по одной строчке, а транзакциями), а в очередь - урлы на скачку.
Потом фоновой задачей по крону потихоньку скачивать картинки, пока не закончится очередь.
А то сильно кривой скрипт действительно может весь сайт раком поставить, залочив на себя нужную всем таблицу.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽