Форум русской поддержки Joomla!® CMS
04.12.2016, 01:50:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Перезапуск скрипта и продолжение работы с последней точки выполнения

 (Прочитано 277 раз)
0 Пользователей и 1 Гость смотрят эту тему.
CaHeK_pk
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 119


« : 18.02.2016, 17:27:25 »

Всем добрый день, пишется автоматический парс цен с другого сайта, при выполнения скрипта вылезла проблема, которую и стоило ожидать: 500 ошибка хостинга из-за долгого выполнения скрипта.
Возникла необходимость написания скрипта или внедрение уже имеющихся. Скрипт должен останавливать скрипт парса через N время, и запускать скрипт парса заново с точки "остановки".
У кого есть какие мысли по этому поводу?

ну и часть кода парса:
model.php
Код
 
function GetIdProduct() {
//получение всех id товаров магазина
}
 
//работа по сверке массивов
function SendArrayIdProduct(){
// цикл по парсингу всех цен и запись их в бд
}
function Start(){
$w = $this->SendArrayIdProduct();
return $w;
}
 
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #1 : 18.02.2016, 20:43:58 »

AJAX спасет отца русской демократии Azn
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #2 : 18.02.2016, 22:36:03 »

AJAX
крон
запуск в консоли
другой язык программирования
Записан
CaHeK_pk
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 119


« Ответ #3 : 19.02.2016, 08:28:30 »

скрипт и так будет запускаться через крон в определенное время т.е никто не будет за ним "следить". как через AJAX можно это сделать. можете поподробней рассказать? была идея записи id последнего удачного запроса в БД. и при повторном запуске скрипта отталкиваться от данной строки..
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #4 : 19.02.2016, 13:18:07 »

Цитировать
была идея записи id последнего удачного запроса в БД. и при повторном запуске скрипта отталкиваться от данной строки..
как вариант. любое место хранения подойдет, в том числе файл.

Цитировать
скрипт и так будет запускаться через крон
так может тогда использовать CLI? там нет ограничения на время выполнения. или нет возможности такой?

Цитировать
как через AJAX можно это сделать
если крон, то AJAX не нужен
Записан
CaHeK_pk
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 119


« Ответ #5 : 22.02.2016, 16:29:03 »

так может тогда использовать CLI? там нет ограничения на время выполнения. или нет возможности такой?
через CLI можно, но на моем тарифе у хостинга стоит опять-же ограничение на выполнение:
"- Запрещается использование процессами процессоров сервера более 60% в течение 5 секунд и более 10% в течение 25 секунд. В случае превышения данного лимита процесс завершается."

Скрипт уже почти написан, точки остановки, точки запуска, проверка последнего обновления все уже проверяется. но возник вопрос наверное в самой простой ситуации:
Код
file pars.php
 
func....//всевозможные проверки
 
function test(){
for($i = $arrayid; $i<count($prodid); $i++) {
//здесь идет цикл парсинга и записи в бд
//и через 25 секунд работы скрипта, он  - pars.php перезапускается
}
}
 
Заранее благодарю
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #6 : 22.02.2016, 17:04:32 »

если у вас вопрос исключительно "подождать какое то время, чтобы проц остыл", то может быть просто использовать sleep()?
Записан
CaHeK_pk
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 119


« Ответ #7 : 23.02.2016, 03:33:10 »

если у вас вопрос исключительно "подождать какое то время, чтобы проц остыл", то может быть просто использовать sleep()?
Спасибо за идею, сегодня опробую:)
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet