@maksustoff

"Too many requests per second."Можно ли что-то сделать?

Приложение,которое получает два ID пользователей в соц.сети и анализирует возможность связи между ними через 6 узлов ("шесть рукопожатий"). Строится структура типа "граф" и для каждой вершины( ключ - ID) получаем список друзей и так далее, через стек. Проблема в ограничении "3 запроса в секунду", получаем только три обрабатывающихся узла, и даже для связи через два узла понадобиться приличное время, для шести "не дождаться". Можно как-то справится с этой проблемой?
  • Вопрос задан
  • 1360 просмотров
Пригласить эксперта
Ответы на вопрос 3
@d-stream
Готовые решения - не подаю, но...
Ну тут "в лоб" с данностью не побороться. Если оцениваемое число запросов - 300 шт, то с учетом ограничения - 100сек...

Дальше только смотреть - действует это ограничение на один ip или одну учетку, если "на один ip" - ну значит размазываемся по нескольким прокси, если "на учетку" - то делаем несколько учеток.
Ответ написан
Комментировать
Noizefan
@Noizefan
Хороший вариант - использовать method.execute.
Или обнаружил сейчас такую фичу - создавая сообщество ВКонтакте можно сгенерировать большущее количество access token'ов. Если методы апи, используемые Вами, позволяют - рекомендую этот вариант. 50 токенов это 150 запросов в секунду, что в два раза больше чем при трёх execute'ах/сек.
Ответ написан
ImmortalCAT
@ImmortalCAT
C# loving
перед каждым запросом юзайте например
System.Threading.Thread.Sleep(3000);
это грубый вариант решения проблемы
посмотрите исходники vkapi
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы