ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Запуск скрипта с определенным периодом |

03.01.2010, 23:57
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Запуск скрипта с определенным периодом
Имею скрипт вывода информации через инклуд с определенным интервалом:
PHP код:
<?
$filetime=lstat('content.txt'); // Получаем массив информации о файле
$cur=time()-$filetime[9]; // Получаем время прошедшее с последней модификации файла
if ($cur>86400) // Если прошло больше 2500 секунд, то делаем запрос к БД
{
$f=fopen('content.txt','w');
// Все echo заменяем на $out.=
// Чтобы собрать в эту переменную все данные которые надо выводить
$host = ""; // MySQL server
$user_db = ""; // MySQL пользователь
$pass_db = ""; // MySQL пароль
$dbase = ""; // MySQL база данных
$dtable = ""; // Таблица в базе данных
error_reporting(E_ALL);
mysql_connect ($host, $user_db, $pass_db);
mysql_select_db($dbase);
$sql = "SELECT link_id, images, catid, rand() AS rnd FROM $dtable WHERE catid=499 GROUP BY link_id ORDER BY rnd LIMIT 6";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
$out="";
if ((!$rows) || ($rows < 1)) {$out.="Результатов НЕТ!!!";}
else {
$out.="Заголовок моей инфы";
while(list($id_link, $images) = mysql_fetch_row($result)) {
$out.="<a href='$id_link.html'><img src='$images'></a>";
}
}
$out.="Конец моей инфы";
fwrite($f,$out);fclose($f); // Записываем в файл
}
echo file_get_contents('content.txt'); // Всегда выводим содержимое файла
?>
Как сделать, чтобы скрипт запускался сам с определенным интервалом без инклуда?
P.S. Крон хостинга не предлагать
|
|
|

04.01.2010, 00:06
|
|
Участник форума
Регистрация: 20.08.2008
Сообщений: 137
Провел на форуме: 2607957
Репутация:
184
|
|
Может быть вечный цикл while(1) где нибудь sleep(секунд) и посмотри ignore_user_abort
|
|
|

04.01.2010, 00:10
|
|
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме: 1455812
Репутация:
150
|
|
PHP код:
<?php // функция запуска скрипта через определенный интервал времени (аналог cron)
ignore_user_abort(); // запускаем скрипт в фоновом режиме
set_time_limit(0); // запускаем скрипт всегда
$interval=60*15; // интервал в секундах (сейчас установлено 15 минут)
do
{
// собсно пишем сам скрипт..... тот, который хотим выполнять каждые 15 минут, например отправку письма с ругательствами плохому человеку или что-то по-сложнее (вобщем все зависит от вашей фантазии)...
sleep($interval); // инициируем интервал запуска скрипта
}
while(true);
?>
(c) Google
|
|
|

04.01.2010, 00:14
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Благодарю! Пробую!
Большая ли нагрузка на сервер создается при этом?
А как быть с safe mode?
Последний раз редактировалось serg-php; 04.01.2010 в 00:21..
|
|
|

04.01.2010, 00:31
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме: 1487377
Репутация:
392
|
|
нагрузка будет большая, некоторые хосты это не любят)0 safe_mode = off
|
|
|

04.01.2010, 00:37
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Такой вариант не подходит!
|
|
|

04.01.2010, 05:22
|
|
Новичок
Регистрация: 12.11.2006
Сообщений: 25
Провел на форуме: 180850
Репутация:
19
|
|
http://cronjob.ru
|
|
|

04.01.2010, 09:50
|
|
Постоянный
Регистрация: 05.01.2009
Сообщений: 684
Провел на форуме: 3281634
Репутация:
485
|
|
В панели хостинга найти вкладку CRON и установи нужное значение и путь до скрипта.
Или как написано постом выше - ты может воспользоваться, бесплатным сервисом cronjob.ru
|
|
|

04.01.2010, 11:31
|
|
Познающий
Регистрация: 30.12.2009
Сообщений: 38
Провел на форуме: 38124
Репутация:
18
|
|
Инклудь скрипт другим скриптом с др хостинга и обрывый соединение, а другой через паузу пусть запускает первый,
или
Сделай такуюж как сейчас сравнивалку во времени только место соединения с бд запускай нужный скрипт, залей на фрии хостинг и пусти ифрейм траффика.
Бедный фрии хостинг, всю тяжёлую работу берёт на себя
Всё зависит от паузы
|
|
|

05.01.2010, 01:38
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
В панели хостинга найти вкладку CRON и установи нужное значение и путь до скрипта.
Видимо, это оптимальный вариант!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|