Я не профессиональный веб-разработчик, но мне нравится гадать на сайтах как хобби. Недавно я играл с разработкой приложения Rails в качестве проекта, чтобы помочь мне изучить структуру. Цель моего игрушечного приложения - собрать данные из другой службы через их API и сделать ее доступной для запроса с помощью функции поиска.
Однако служба, которую я хочу вытащить данные, накладывает ограничение скорости на количество вызовов API, которые могут выполняться в минуту. Я планирую, что мое приложение запускает ежедневное обновление, которое может генерировать пакет вызовов API, который намного превышает лимит, предоставляемый внешней службой. Я хочу уважать производительность внешнего сайта и поэтому хотел бы снизить скорость, с которой приложение выполняет вызовы.
Я немного поработал и подавляющее количество материалов для учебников и предварительно построенных библиотек, которые я нашел, закрыл дросселирование входящих API-вызовов в веб-приложение, и я не могу найти небольшое обсуждение управления потоком исходящих вызовов.
Будучи и любительским веб-разработчиком, и новичком-рельсами, вполне возможно, что я выполнял неправильные запросы в неправильных местах. Поэтому мои вопросы:
-
Есть ли хороший сайт, в котором собраны учебные пособия Rails, в которых есть материал, связанный с дросселированием исходящих запросов API?
-
Есть ли какие-либо рубиновые драгоценные камни или другие библиотеки, которые помогут мне разогнать запросы?
У меня есть некоторые идеи о том, как я мог бы писать систему дросселирования, используя рабочего процесса на основе очереди, такого как DelayedJob или Resque, для управления вызовами API, но я предпочел бы потратить выходные дни на остальную часть сайта, если есть хорошее готовое решение уже там.