Скрипт в какой то момент перестаёт работать

FRIE

Новичок
Есть оч большая база > 20 млн записей, она постоянно растёт, и задача скрипта регулярно делать выборки из базы по заданным параметрам, полный круг скрипт проходит за несколько минут и потом снова сначала. Так вот, в какой то момент он просто вырубается, может сутки пахать, а может и через часа 4 вырубиться.
Как отследить такие моменты? Что и как мониторить?
Подскажите плиз )
 

AnrDaemon

Продвинутый новичок
Прежде чем определять, что мониторить, надо чётко себе представить, что делает скрипт, как именно он запускается и работает.
Без этой информации можно только пальцем в небо тыкать.
 

FRIE

Новичок
Прежде чем определять, что мониторить, надо чётко себе представить, что делает скрипт, как именно он запускается и работает.
Без этой информации можно только пальцем в небо тыкать.
Крон у меня не получилось сделать ) , по этому запускает его js при заходе на страницы админки.
Дальше идёт запрос к mysql, выбираются таблицы для обновления данных, штук 50 их, и в цикле лезет в другую таблу где 20 млн записей, берёт отттуда данные по каждой таблице и записывает значения.

Потом тоже самое ещё 2 раза обрабатывает данные в другом виде
Вот упрощённая версия скрипта.


PHP:
$result2 = mysqli_query($db,"SELECT * FROM `tables` WHERE `type`='mask' and (`medium`='organic' or  `medium`='cpc') ORDER BY `sortid` ASC");
//выбор таблиц в которых обновляем данные
while($myrow2=mysqli_fetch_array($result2)){
    $result5 = mysqli_query($db,"SELECT * FROM `dates` WHERE `".$myrow2['tablename']."`='no' and `cold`='yes' ORDER BY `date` ASC");
    $result = mysqli_query($db,"SELECT
            SUM(visits) AS visits,
            SUM(timeviz) AS timeviz,
            SUM(cost) AS cost
            FROM `cold`
            WHERE `source`='".$source."' and `medium`='".$myrow2['medium']."' and ".$period." ".$like."");
    // полученные значения загоняются в переменные, и  ещё пару таких конструкций по гуглу и мэйлу
   
    // и потом это всё загоняется в базу
    $query="INSERT INTO `data` (id, `table`,`date`,`yandex`, `google`, `mail`,`yandex_timeviz`, `google_timeviz`, `mail_timeviz`,`yandex_cost`, `google_cost`, `mail_cost`)
          VALUES (NULL,'".$myrow2['tablename']."','".$myrow5['date']."','".$ya."','".$g."', '".$mail."','".$ya_timeviz."','".$g_timeviz."', '".$mail_timeviz."','".$ya_cost."','".$g_cost."', '".$mail_cost."')";

}
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
FRIE, Тебе прямо реально нужно выбирать ВСЕ поля? Звездочка не является хорошим тоном при выборках.

Долгоиграющие задачи надо решать не через дергание AJAXом странички.
 

AnrDaemon

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

grigori

( ͡° ͜ʖ ͡°)
Команда форума
пахади, мы памагаем аффтору =)
тогда я напишу прямо, чтобы прекратить избиение младенцев.

Автор, ты неправильно сделал все. В твоем примере 2 строки без ошибок - это комментарии. Это не сарказм, каждая строка написана неправильно.
Народ здесь смеется, и помогать никто не будет. Помочь - это когда часть знают, часть - спрашивают, а ты знаешь только синтаксис.
Сложность этой задачи намного превышает твою компетенцию, в ближайшие месяцы ты решение не напишешь. Получай зарплату пока платят.
Мне все это не нравится, и я хочу просто удалить эту тему.
 
Последнее редактирование:
Сверху