Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Одновременный запуск нескольких скриптов
 
 автор: Добрый кот   (09.01.2014 в 14:55)   письмо автору
 
 

Всем доброго дня.
Прошу совета по следующему вопросу.
У меня сайт расположен на VPS сервере. Недавно возникла мысль отслеживать активность пользователей соц сетей (по соц.кнопкам на сайте). Написал скрипт, работающий с API нескольких соц.сетей и берущих оттуда (из соцсети), количество поделившихся ссылкой на мой сайт. Скрипт выполняется очень долго (для анализа трех ссылок уходит от 9 сек и выше).
И тут возникает пренеприятнейшее явление. То время, что грузится скрипт, сайт не доступен (вернее доступен, но грузится столько же времени, что и скрипт проверки репостов в соц сетях).
как сделать чтобы работа сайта не зависела от работы скрипта?
Ниже приведен код и результат работы.
<?php
$facebook 
file_get_contents("http://graph.facebook.com/?id=".$url);
$facebook_json_decode=json_decode($facebooktrue); 
$facebook_total_count $facebook_json_decode["shares"];
if(
$facebook_total_count ==NULL$facebook_total_count 0;

$mailru file_get_contents("http://connect.mail.ru/share_count?callback=1&func=?&url_list=".$url);
$mailru_count preg_replace("#.*\"shares\":(\d{1,9})\,.*#si""$1" ,$mailru);
$mailru_count =str_replace("\r"""$mailru_count);
$mailru_count =str_replace("\n"""$mailru_count);
$mailru_count =str_replace("("""$mailru_count);
$mailru_count =str_replace(")"""$mailru_count);
$mailru_count =str_replace("{"""$mailru_count);
$mailru_count =str_replace("}"""$mailru_count);
$mailru_count =str_replace("?"""$mailru_count);
$mailru_count =str_replace(";"""$mailru_count);
$mailru_count =str_replace(" """$mailru_count);
if(
$mailru_count ==''$mailru_count 0;
$mailru_count=intval($mailru_count);
    
//var_dump( $mailru_count );

$vk file_get_contents("http://vk.com/share.php?act=count&index=2&url=".$url);
$vk_count preg_replace("#.*\, (\d{1,7})\);#si""$1" ,$vk);

$twitter_request file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url='.$url);
$twitter json_decode($twitter_requesttrue);
$twitter_count $twitter["count"];

echo 
"Статья под номером №".$row['id']." facebook - ".$facebook_total_count.", mailru - ".$mailru_count.", vk - ".$vk_count.", twitter - ".$twitter_count."<br>";
?>


Статья под номером №4479 facebook - 0, mailru - 0, vk - , twitter - 0
Статья под номером №4480 facebook - 0, mailru - 0, vk - 0, twitter - 0
Статья под номером №4481 facebook - 0, mailru - 0, vk - 0, twitter - 0

Страница сгенерирована за 33,520802 секунд !

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования