Перейти к содержимому


Действие с большим количеством данных


В теме одно сообщение

#1 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 27 Февраль 2014 - 05:07

Имеется таблица, в которой 25 тыс записей. Банальное доп. действие

$line['Цена одной единицы 2'] = $line['Цена одной единицы'];

Приводит к 504 Gateway Time-out. Как быть?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Февраль 2014 - 08:31

Во-первых, можно добавить фильтр на условие 'Цена одной единицы 2'!='Цена одной единицы' и запускать доп.действие только внутри него. Тогда по крайней мере вы не будете повторно обрабатывать те же строки, и даже после вылетов рано или поздно добьете его, путем повторения запусков.

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





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных