| Всем доброго дня.
Прошу совета по следующему вопросу.
У меня сайт расположен на VPS сервере. Недавно возникла мысль отслеживать активность пользователей соц сетей (по соц.кнопкам на сайте). Написал скрипт, работающий с API нескольких соц.сетей и берущих оттуда (из соцсети), количество поделившихся ссылкой на мой сайт. Скрипт выполняется очень долго (для анализа трех ссылок уходит от 9 сек и выше).
И тут возникает пренеприятнейшее явление. То время, что грузится скрипт, сайт не доступен (вернее доступен, но грузится столько же времени, что и скрипт проверки репостов в соц сетях).
как сделать чтобы работа сайта не зависела от работы скрипта?
Ниже приведен код и результат работы.
<?php
$facebook = file_get_contents("http://graph.facebook.com/?id=".$url);
$facebook_json_decode=json_decode($facebook, true);
$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_request, true);
$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 секунд !
|
| |