За последние 24 часа нас посетили 5330 программистов и 684 робота. Сейчас ищут 200 программистов ...

Выгрузка огромного количества данных с АПИ. Как можно ускорить процесс?

Тема в разделе "Прочие вопросы по PHP", создана пользователем RaptorZed, 13 авг 2019 в 02:26.

Метки:
  1. RaptorZed

    RaptorZed Новичок

    С нами с:
    Вторник
    Сообщения:
    2
    Симпатии:
    0
    Всем доброго времени суток.
    Столкнулся с такой задачей: нужно заполнить локальную базу данными с АПИ интернет магазина.
    Скрипт работает правильно но очень долго (35 часов).
    Использую: Symony3, MySql(ORMDoctrine)
    Как можно ускорить процесс?
    Код в файле.
    Буду благодарен за любую полезную информацию.
     

    Вложения:

    • code.zip
      Размер файла:
      2,8 КБ
      Просмотров:
      14
  2. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    519
    Симпатии:
    68
    нормальный такой код.
    но, видимо, из-за количества товаров - нужно было все это разделить на разные потоки (русский отдельно, украинский отдельно, картинки вообще на потом, главное же товар), а не проходить все и валить в один массив с последующим разбором.

    кстати что там еще у вас за сервер, может быть смысл в том, что бы сайт не ложить при импорте и на скрипт стоит ограничение использования ресурсов?

    ну есть проблема в том, что обычно в таких объемах при малейшей ошибке придется все начинать сначала. обычно каждую итерацию обрабатывают и номер страницы складывают в файл, для того, что бы потом знать, с какой строки начинать.
     
  3. RaptorZed

    RaptorZed Новичок

    С нами с:
    Вторник
    Сообщения:
    2
    Симпатии:
    0
    -
    это одноразовая процедура перед запуском проекта в дальнейшем происходит подгрузка (не боле 10-20 секунд)

    думаю - да, стоит разделить все и поочередно все выгружать

    Спасибо!
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.807
    Симпатии:
    689
    curl_multi сильно ускорит процесс
    если конечно апи сервер способен держать нагрузки
     
  5. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    384
    Симпатии:
    48
    При условии что у апихи есть офсет или пагинация или лимиты на 1 пачку данных.