X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Как узнать количество запросов к удаленному файлу?
misnik
misnik
Topic Starter сообщение 11.4.2013, 6:01; Ответить: misnik
Сообщение #1


Участник
***

Группа: User
Сообщений: 199
Регистрация: 18.3.2010
Поблагодарили: 17 раз
Репутация:   -1  


Есть php скрипт, который обращается к API стороннего сервиса. Там стоит ограничение: не более 10 запросов в секунду.
Нашему скрипту постоянно удается благополучно преодолеть этот предел и наш IP блокируют.
Анализ кода ничего не дал. Или мы не знаем как это сделать, отследить. По логике в скрипте обращение идет максимум 2 раза.

Вопрос: как ограничить число запросов из скрипта? как это отследить? как явно вывести данное число для самоконтроля скрипта (например: при вызове скрипт генерит строку Обращений в секунду: 5)?

Вопрос может быть и ламерский, но подскажите в каком направлении копать?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webpavilion
webpavilion
сообщение 11.4.2013, 9:51; Ответить: webpavilion
Сообщение #2


сеошник на пенсии
*******

Группа: Active User
Сообщений: 2726
Регистрация: 28.4.2009
Из: МО
Поблагодарили: 1659 раз
Репутация:   171  


в чем проблема то? оберните то что у вас инициализирует работу с API в код который будет хранить количество инициализаций где нибудь в: file, mysql, shm и т.д.

еще есть верный костыль для подобных ситуаций:
usleep(125000); // ждать 0.125 секунды

в вашем случаи лучше конечно разобраться откуда столько запросов, но можно сделать и с usleep если скорость работы не так важна.


--------------------
Не ведитесь, cамопис это почти всегда плохо!

Делаю сайты на Drupal 7.x
(очень дорого)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ISINK
ISINK
сообщение 11.4.2013, 10:28; Ответить: ISINK
Сообщение #3


Новичок
*

Группа: User
Сообщений: 24
Регистрация: 12.3.2013
Поблагодарили: 3 раза
Репутация:   0  


misnik, Как вариант сделать счетчик в memcache (если не работали с ним то пример)
Примерно код проверки
counter.php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");


$metka = time();
if($count_per_second = $memcache->get($metka))
{
    $count_per_second = $count_per_second+1;
    $memcache->set($metka, $count_per_second, false, 300);   // Храним счетчики  5 минут
}
else
{
    $memcache->set($metka, 1, false, 300);   //  Первая запись по счетчику
}

Код который выводит частоту запросов в секунду по последней минуте
echo.php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$time = time();
for($i=$time;$i>=($time-60);$i--)
{

    if($count = $memcache->get($i))
    {
        echo $count."<br>\n";
    }
    else echo "0<br>\n";

    
}


--------------------
Бесплатный онлайн-консультант Chathelp.ru


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Видеомаркетинг как инструмент развития интернет-магазина
11 PostBrigada 2137 Сегодня, 20:30
автор: galikfor
Открытая тема (нет новых ответов) Facebook палит прокси. Кто как решает эту проблему?
28 Twickbot 3610 Сегодня, 20:26
автор: galikfor
Открытая тема (нет новых ответов) Обман пользователей мобильного интернета, о как =)
11 RMak 1475 Сегодня, 12:53
автор: RMak
Открытая тема (нет новых ответов) Как повлиять на быстрые ссылки в гугле?
6 maxg5 1387 Сегодня, 10:20
автор: lesssss81
Открытая тема (нет новых ответов) как правильно написать альт и тайтл для изображений
0 galaker 360 Вчера, 22:50
автор: galaker


 



RSS Текстовая версия Сейчас: 14.12.2017, 23:06
Дизайн