На сайте есть необходимость постоянной обработки больших циклов (обновление бд через цикл). Так как на хостинге стоят ограничения на использование процессорного времени, приходиться разбивать цикл на несколько маленьких и запускать их цепочкой.
Выглядит это так:
Файл 1.php
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- include '../database.php';
- {
- }
- else
- {
- $limit = 0;
- }
- FROM `table`
- ORDER BY `table_id` ASC
- LIMIT $limit, 10");
- if ($count_sql > 0) //если выбрались какие-то данные
- {
- for ($i=0; $i<$count_sql; $i++)
- {
- //обрабатываем данные и обновляем таблицу
- }
- $limit = $limit + 10; //увеличиваем лимит
- $href = '1.php?limit='.$limit;
- print '<script type="text/javascript">
- function doit()
- {
- window.location.href="'.$href.'";
- }
- setTimeout(doit, 2000);
- </script>'; // и перезапускаем файл
- }
- else //если все данные уже обработаны, запускаем второй файл
- {
- $href = '2.php?limit=0';
- print '<script type="text/javascript">
- function doit()
- {
- window.location.href="'.$href.'";
- }
- setTimeout(doit, 2000);
- </script>';
- }