Регулировка исходящих вызовов API сгенерирована приложением для направляющих

Я не профессиональный веб-разработчик, но мне нравится выворачивать на веб-сайтах как хобби. Недавно, я играл с разработкой приложения для направляющих как проект помочь мне изучить платформу. Цель моего игрушечного приложения состоит в том, чтобы получить данные от другого сервиса до их API и сделать это доступным, чтобы я запросил использование поисковой функции.

Однако сервис, из которого я хочу вытянуть данные, налагает ограничение скорости на количество вызовов API, которые могут быть выполнены в минуту. Я планирую на наличии моего выполнения приложения ежедневное обновление, которое может генерировать пакет вызовов API, который далеко превышает предел, обеспеченный внешним сервисом. Я хочу уважать функционирование внешнего сайта и так хотел бы отрегулировать уровень, на котором мое приложение выполняет вызовы.

Я сделал определенный поиск и подавляющую сумму учебного материала и предварительно создал библиотеки, я нашел покрытие, регулирующее входящие вызовы API веб-приложения, и я могу найти мало обсуждения управления потоком исходящих вызовов.

Будучи и веб-разработчиком-любителем и новичком направляющих, совершенно возможно, что я выполнял неправильные поиски в неправильных местах. Поэтому мои вопросы:

  • Существует ли хороший веб-сайт, там агрегировавший учебные руководства по направляющим, который имеет материал, связанный с регулировкой исходящих запросов API?

  • Есть ли какие-либо рубиновые драгоценные камни или другие библиотеки, которые помогли бы мне отрегулировать запросы?

У меня есть некоторые идеи того, как я мог бы пойти о записи системы регулировки с помощью основанного на очереди рабочего как DelayedJob или Resque для управления вызовами API, но я скорее проведу свои выходные, создавая остальную часть сайта, если уже будет хорошее предварительно созданное решение там.

12
задан Sharpie 10 May 2010 в 11:35
поделиться

1 ответ

Причина, по которой никто не говорит о дросселировании исходящих запросов, заключается в том, что это обычно довольно тривиально, поскольку вы контролируете его. Контролировать пропускную способность может быть немного сложнее, но контролировать количество запросов ?

ri Kernel#sleep

Так, если вам разрешено 10 вызовов api в минуту, вы просто sleep(6) после каждого вызова

0
ответ дан 26 October 2019 в 14:32
поделиться
Другие вопросы по тегам:

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