@Apxu

Выполнение скрипта с большим количеством итераций?

Находил подобный вопрос, но к сожалению решения для себя не нашел.
Есть выгрузка в xml с большим количеством товаров...около 40 000 элементов.
Скрипт обновляет/добавляет товары, но времени на обработку скрипта не хватает и выдает 504 Gateway time-out nginx/1.5.0.
Пробовал менять ini_set('max_execution_time',2400), т.е. на 20 минут (скрипт выполняется 10, т.е. 1200 секунд), но не помогает.
В какую сторону копать? Может как-то частями выполнять можно скрипт или еще что-то? Кто сталкивался с подобной проблемой - помогите.
Заранее спасибо.
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
@entermix
set_time_limit(0);

www.php.su/set_time_limit

Ну, или выполнять N итераций за 1 запуск скрипта, к примеру помечаем в исходном файле уже обработанную информацию, и при запуске скрипта пропускаем ее.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
DrunkMaster
@DrunkMaster
max_execution_time 0
max_input_size -1 (или как-то там посмотрите по input в php.ini)
В конфиг nginx гляньте там тоже ограничение можно снять
Ответ написан
iDokuro
@iDokuro
Тугодум
Как говорит документация по функции set_time_limit(). Она не только устанавливает счётчик времени. Но и обнуляет текущее.

Поставьте в конце каждой итерации обнуление :D
Ответ написан
Ваш ответ на вопрос

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

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