Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр 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($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 секунд !

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

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