Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как реализовать длинный во времени скрипт php?
 
 автор: f39   (11.02.2016 в 15:28)   письмо автору
 
 

Уважаемые специалисты!
Нужна помощь в вопросе, куда начинать копать.
Задача следующая, необходимо в определенное время запустить скрипт на php (его можно разбить на несколько), который выкачивает прайсы в xml, обновляет базу SQl и генерирует прайс с учетом новых данных.
Время выполнения задачи примерно 4 часа.

Как вариант использовать cron для запуска, но у него ограничение по времени. Можно разбить на мелкие итерации, но это не лучший вариант для загрузки сервера.

Что вообще используется в данном случае, чтобы не изобретать велосипед?

  Ответить  
 
 автор: confirm   (11.02.2016 в 16:05)   письмо автору
 
   для: f39   (11.02.2016 в 15:28)
 

4 часа, это через чур. Нужна и оптимизация, скорее есть что оптимизировать, и разбиение на более мелкие законченные задачи.

  Ответить  
 
 автор: f39   (11.02.2016 в 16:07)   письмо автору
 
   для: confirm   (11.02.2016 в 16:05)
 

Процесс такой, выкачали 5 прайсов - это пару секунд
В таблице товаров 112085 записей.
В каждом прайсе порядка 60000 товаров.

Необходимо просмотреть все товары и обновить их цену и наличие в базе.

Что там оптимизировать? Монотонный процесс.

  Ответить  
 
 автор: Valick   (11.02.2016 в 16:16)   письмо автору
 
   для: f39   (11.02.2016 в 16:07)
 

там реально нечего оптимизировать... там программиста надо пристрелить

  Ответить  
 
 автор: elenaki   (11.02.2016 в 16:33)   письмо автору
 
   для: confirm   (11.02.2016 в 16:05)
 

У меня с утра - уже около 6 часов работает скрипт и ничего. У меня там вставка с IGNORE, а записей около 3 млн. Наверно, оставлю его до завтра.

  Ответить  
 
 автор: Valick   (11.02.2016 в 16:42)   письмо автору
 
   для: elenaki   (11.02.2016 в 16:33)
 

судя по времени INSERT IGNORE в цикле, за такое тоже программиста надо шлёпать по попе :)

  Ответить  
 
 автор: elenaki   (11.02.2016 в 16:46)   письмо автору
 
   для: Valick   (11.02.2016 в 16:42)
 

Т.е. можно без цикла - запускать скрипт на каждую запись? LOAD DATA мне не подходит. Удаление дубликатов тоже занятие не быстрое.

  Ответить  
 
 автор: Valick   (11.02.2016 в 16:51)   письмо автору
 
   для: elenaki   (11.02.2016 в 16:46)
 

Елена, мой скайп valick1977 стукните, зайду когда время будет, сегодня не обещаю, завтра утром скорее всего.
тут можно и нужно обходиться без цикла, естественно про запуск скрипта под каждую запись речи не идёт, за такое четвертовать надо :)
и не спешите открещиваться от LOAD DATA я вам в скайпе расскажу почему

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования