Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (7)
  • CMS, фреймворк или чистый PHP?

    @Kravalg
    Советую использовать Фреймворк - и времени немного затратишь и опыта получишь. А CMS - это сделать сайт на скорую руку, с минимальным опытом. Чистый php вообще отпадает сразу, так как слишком много лишних телодвижений.

    Советую свои проекты писать на чистом php, используя паттерны проектирования. Напиши свою cms/framework. Очень полезная штука в плане опыта. Но времени уйдёт уйма.
    Поэтому :
    - нужно создать сайт быстро - cms. Так работают веб-студии. Быстро и дёшево.
    - нужно создать сайт и заниматься его дальнейшей поддержкой и разработкой не один год - Framework однозначно.
    - создаёшь сайт для себя и в целях обучения - чистый PHP.

    И в конце тебе дам ссылочку очень полезную. Там ты узнаешь обо всем, что нужно хорошему разработчику.

    getjump.me/ru-php-the-right-way
    Ответ написан
  • Как загрузить прайс лист по частям?

    @Kravalg
    Раз уж 504 ошибка, это значит, что сервер не успевает за отведенное ему время отдать ответ. Это и немудренно, так как ты при получении данных сразу же их обрабатываешь. Для малого количества данных этот подход уместен, но для больших - нет в чем ты уже убедился.

    Решение, которые позволит тебе обрабатывать данные практически любых размеров:

    1) Скрипт, который принимает данные и обрабатывает их сейчас должен сохранять их(к примеру, в файл) и ставить в очередь на обработку. Теперь твой скрипт не будет улетать в 504, так как ответ будет за считанные миллисекунды.
    2) Следующим этапом будет написание скрипта, который будет получать сообщения из очереди на обработку этих данных. Если размер данных, которые ты получаешь исчисляется в сотнях мегабайтов и больше, тогда перед обработкой этих данных тебе необходимо будет их поделить на части (в случае, если хранилищем ты выберешь файлы).
    3) После того, как ты получишь данные по частям ты можешь их обрабатывать в фоновом режиме

    Я описал общий алгоритм, если не можешь выбрать конкретные технологии - пиши в комментарии, подскажу

    UPD.
    Для обработки больших файлов можно использовать генераторы - статья

    Для запуска фоновых обработчиков можно использовать cron или workers - статья
    Ответ написан