"Too many requests per second."Можно ли что-то сделать?
Приложение,которое получает два ID пользователей в соц.сети и анализирует возможность связи между ними через 6 узлов ("шесть рукопожатий"). Строится структура типа "граф" и для каждой вершины( ключ - ID) получаем список друзей и так далее, через стек. Проблема в ограничении "3 запроса в секунду", получаем только три обрабатывающихся узла, и даже для связи через два узла понадобиться приличное время, для шести "не дождаться". Можно как-то справится с этой проблемой?
Ну тут "в лоб" с данностью не побороться. Если оцениваемое число запросов - 300 шт, то с учетом ограничения - 100сек...
Дальше только смотреть - действует это ограничение на один ip или одну учетку, если "на один ip" - ну значит размазываемся по нескольким прокси, если "на учетку" - то делаем несколько учеток.
Хороший вариант - использовать method.execute.
Или обнаружил сейчас такую фичу - создавая сообщество ВКонтакте можно сгенерировать большущее количество access token'ов. Если методы апи, используемые Вами, позволяют - рекомендую этот вариант. 50 токенов это 150 запросов в секунду, что в два раза больше чем при трёх execute'ах/сек.
maksustoff: в настройках сообщества есть вкладка "Работа с API" -> "ключи доступа".
Но учтите опять же, не все методы АПИ поддерживают ключи именно сообщества. Если Ваши не поддерживаются - выступаю тоже в пользу execute.
С токенами глупость. Ограничение идёт на сообщество, а не на токены. Возможность создавать несколько токенов сделана для того, чтобы при использовании различных сервисов, в случае чего, не удалять токен для всех приложений, а снести один единственный. Это стоит учитывать из-за того, что токены практически везде хранятся в открытом виде и мы не знаем взломают ли завтра наш любимый сервис.
Можно, конечно, создать мильон сообществ.... Глупость.
Execute хватает.
Ahen: таки на сообщество?) Хорошо в теме разбираетесь? сейчас 30 в секунду обрабатываю, и всё благодаря токенам.
проведите эксперимент, сами во всём убедитесь)