Приведу пример. Я в качестве тренировки пишу скрипт, экспортирующий данные из прайс-листов в формате Excel в базу данных MySQL. Прайсы очень объёмные, с десятью листами.
На данный момент мой скрипт последовтельно проходит по каждой строке одного прайса и записывает данные в базу где-то за 10 секунд.
Допустим, я захочу, чтобы он считал последовательно сразу 15 прайс-листов из папки. Скрипту на это потребуется пара минут, и он вылетит по тайм-ауту.
Я, конечно, могу увелечить максимальное время исполнения в конфигурации PHP, считать файлы по одному, но всё же, какие существуют решения в подобных ситуациях?
Спустя 17 минут, 5 секунд (15.06.2010 - 11:47) waldicom написал(а):
А какие тут выходы? Улучшать скрипт. Выполнять сторонними средствами. Увеличивать время. Наверняка есть еще какие...
Спустя 32 минуты, 35 секунд (15.06.2010 - 12:20) tomash написал(а):
Сначала нужно ВСЕ достать из файлов, потом обработать, потом положить в БД
Спустя 1 час, 7 минут, 29 секунд (15.06.2010 - 13:27) FatCat написал(а):
На нормальных хостингах для долгих процессов использую "сет_таймлимит"; для уродских хостингов с урезанными лимитами делаю сохранения промежуточных результатов в базе или в файлах и авторефреши.
Спустя 3 минуты, 48 секунд (15.06.2010 - 13:31) tomash написал(а):
Еще можно вызывать скрипт для каждого файла
Спустя 6 минут, 7 секунд (15.06.2010 - 13:37) kpoxo6op написал(а):
Цитата (tomash @ 15.06.2010 - 10:31) |
Еще можно вызывать скрипт для каждого файла |
Объясните подробнее, что это значит?
Спустя 4 минуты, 32 секунды (15.06.2010 - 13:42) kpoxo6op написал(а):
Цитата (FatCat @ 15.06.2010 - 10:27) |
На нормальных хостингах для долгих процессов использую "сет_таймлимит"; для уродских хостингов с урезанными лимитами делаю сохранения промежуточных результатов в базе или в файлах и авторефреши. |
Как ставить авторефреш? Можете дать ссылку, сам почитаю...
Спустя 56 секунд (15.06.2010 - 13:43) tomash написал(а):
обрабатывать файлы по-очереди
Спустя 19 часов, 40 минут, 39 секунд (16.06.2010 - 09:23) kpoxo6op написал(а):
Цитата (tomash @ 15.06.2010 - 10:43) |
обрабатывать файлы по-очереди |
То есть, скрипт должен как-то прекратить выполняться после обработки одного файла, а потом как-то перезапуститься для обработки следующего?
Спустя 24 минуты, 44 секунды (16.06.2010 - 09:48) tomash написал(а):
kpoxo6op
Вродь того.
Вродь того.