"Каждые 2 часа автоматический файл\группа файлов из каждого аккаунта,должна отправлять на сканирование."
Отправление файлов я реализовал, а вот насчет каждые 2 часа возникли проблемы (
Спустя 2 минуты, 27 секунд (15.11.2009 - 00:01) FatCat написал(а):
Если ресурс малопосещаемый или если требуется очень большая точность соблюдения интервало времени - по крону. В противном случае проще и логичней сделать на тасках.
Спустя 2 часа, 7 минут, 53 секунды (15.11.2009 - 02:09) MainVoid написал(а):
Простите, влезу.
FatCat, поясни, если не сложно, что ты имеешь ввиду под таском?
FatCat, поясни, если не сложно, что ты имеешь ввиду под таском?
Спустя 4 минуты, 31 секунда (15.11.2009 - 02:14) haZe написал(а):
я думаю то, что эти изменения выполдняются только при активности пользователей.
Например как в разделе "кто онлайн" делают, он обновляется, только когда пипл шастает.
Например как в разделе "кто онлайн" делают, он обновляется, только когда пипл шастает.
Спустя 58 минут, 16 секунд (15.11.2009 - 03:12) FatCat написал(а):
Цитата (MainVoid @ 15.11.2009 - 03:09) |
что ты имеешь ввиду под таском? |
Задания, совмещаемые с отображением страницы по запросу.
Например, чтобы не гонять по каждому запросу главной страницы кучу тяжеловесных sql-запросов, сделано 15-минутное кеширование на тасках:
// Начали проверку файлов для кеширования
$time_next = "";
$cache_dir="cache";
$open_dir=opendir("$cache_dir");
while($tmp_name=readdir($open_dir))
{
if(stristr($tmp_name,".cache.board.tmp"))$time_next .= $tmp_name."<br>";
}
$time_next .= "end";
$time_next = str_replace("<br>end","",$time_next);
if($time_next == "end")
{
$time_next = "1000000000.cache.board.tmp";
}
elseif(stristr($time_next,"<br>"))
{
$temp_deleter = explode("<br>",$time_next);
unlink($cache_dir."/".$temp_deleter[0]);
$time_next = $temp_deleter[1];
}
$time_delim = time() - str_replace(".cache.board.tmp","",$time_next);
if($time_delim > 900 or $time_delim < 0)$cached_in_file = "recach";
else $cached_in_file = "cached";
// Закончили проверку файлов
// Начали кешировать
if($cached_in_file == "cached")
{
@ob_start();
include( "cache/".$time_next );
$board_cache_html = @ob_get_contents();
@ob_end_clean();
}
else
{
// гоняем кучу запросов, собираем ХТМЛ-код в $board_cache_html
$fh = fopen("cache/".time().".cache.board.tmp", "w");
fwrite($fh, $board_cache_html);
fclose($fh);
}
Если к примеру час не запрашивали главную, кеш и не обновлялся - нечего зря гонять машину, если зрителей нет.
Но все посетители получат информацию не старее 15 минут.
Спустя 26 секунд FatCat написал(а):
Цитата (haZe @ 15.11.2009 - 03:14) |
он обновляется, только когда пипл шастает |
Верно! Именно так!
Спустя 12 часов, 44 минуты, 27 секунд (15.11.2009 - 15:56) MainVoid написал(а):
FatCat, спасибо, в моей голове такой подход был подписан как "агенты". Расширю словарный запас.