У меня вопрос о том, как замедлить мои запросы api. Для конкретного стороннего API я нажимаю, позволяя мне делать 3 запроса каждые 2 секунды. Если я перейду через это число, я вернусь status code 429
вместе с временем ожидания в миллисекундах.Запросы ограничения скорости и Amazon SQS
Этот api часто называется и является прямым результатом моего собственного сервера, имеющего входящие запросы, которые не ограничены скоростью.
Поскольку у меня нет необходимости в синхронном обращении с сторонними запросами api, я решил разгрузить эту работу в мой рабочий блок beanstalk для работы на AWS, который по умолчанию читается из Amazon SQS.
В результате мой работник будет отправлять сообщение SQS обратно в очередь, если код статуса 429 возвращается из стороннего api. Это неизбежно заставляет работу api работать, когда достигается ожидание. Это, однако, похоже на плохое решение
Есть ли способ сообщить демонам на рабочем поле оставить сообщение в очереди за выделенное время ожидания? Или я могу, возможно, установить скорость, с которой демон будет читать из очереди? Я ищу подходящий способ (конкретный вариант реализации) для ограничения скорости с использованием рабочего и очереди на AWS. Большое вам спасибо за помощь!
EDIT: Я бы предположил, что существуют конфигурации, которые могут быть изменены на AWS, чтобы делать то, что я прошу, но в любом случае я ищу конкретные решения для описанной вами установки. Я не совсем уверен, как модифицировать или контролировать демона на рабочей панели с эластичным бобовым сундуком.
Какова цель, связанная с использованием стороннего API? что такое триггер для вызова? –
Я использую стороннюю службу маркетинга электронной почты для заполнения/обновления учетной записи электронной почты для клиентов. В моем продукте есть много триггеров, поскольку для его вызова в основном связаны с обновлением и заполнением этих маркетинговых счетов в режиме реального времени. – AIntel