Выполнение скрипта с большим количеством итераций?
Находил подобный вопрос, но к сожалению решения для себя не нашел.
Есть выгрузка в xml с большим количеством товаров...около 40 000 элементов.
Скрипт обновляет/добавляет товары, но времени на обработку скрипта не хватает и выдает 504 Gateway time-out nginx/1.5.0.
Пробовал менять ini_set('max_execution_time',2400), т.е. на 20 минут (скрипт выполняется 10, т.е. 1200 секунд), но не помогает.
В какую сторону копать? Может как-то частями выполнять можно скрипт или еще что-то? Кто сталкивался с подобной проблемой - помогите.
Заранее спасибо.
Ну, или выполнять N итераций за 1 запуск скрипта, к примеру помечаем в исходном файле уже обработанную информацию, и при запуске скрипта пропускаем ее.
эта функция меняет значение max_execution_time, я его менял и через эту функцию, которую вы написали и через ini_set('max_execution_time',0) - оно делает тоже самое. Но это не помогает. На счет второго вашего решения - буду пробовать если ничего другого не выйдет. Спасибо за совет
Все таки решил выполнять N интераций и перенаправлять на эту же страницу с параметрами(на какой записе остановился), потом вырезать отработанное количество элементов и опять выполнять N итераций...ну и так по кругу пока не дойду до конца массива.
max_execution_time - меняется успешно, сейчас вот у меня в phpinfo - local value 2400, а master value 1200 (10 мин) - которое как раз я так понял и считается. На max_input_time я никак повлиять не могу, ни через ini_set, ни через .htaccess php_value... как было 1200 в локал и мастер, так и осталось :|
На счет конфига nginx можно чуть подробнее, где его глянуть?
Apxu: настройки конфига можно глянуть через phpinfo() но вам короче нужен просто VDS с root-доступом. Купите, снимите ограничения и ваш скрипт будет работать сколько нужно.
На сколько я понял 504 Gateway time-out nginx/1.5.0 , т.е. скрипт не дорабатывает не изза того, что параметра max_execution_time не хватает,т.к. в этом случае должна выскакивать Fatal error в котором говорится что "был превышел лимит времени на выполнение скрипта...и тд"...ну примерно чтото такое, а меня именно сервер отключает. Т.е. скорее все го обнуление не поможет..ну сейчас вот жду - проверяю)