Превышен предел скорости в Календаре Google

Мы используем экземпляры Google Cloud (AppEngine) для синхронизации данных наших пользователей с их Google Calendars (через Calendar API). По сути, мы предоставляем решение для управления задачами, и задачи должны быть синхронизированы (однонаправлено) с календарями, к которым они (пользователи) предоставляют нам доступ.

Как все это работает: 1. Мы просим пользователей предоставить доступ к своей учетной записи Google. 2. Мы просим их выбрать нужный календарь или предложить возможность создания нового под своей учетной записью. 3. Нажимаем вставки / обновления / удаления через API.

Конкретной ошибкой, которую мы не понимаем, является 403 "Превышен предел скорости", который мы получили 190 раз за последние 30 дней из общего количества 84 773 запросов.

"error": {
 "errors": [
 {
 "domain": "usageLimits",
 "reason": "rateLimitExceeded",
 "message": "Rate Limit Exceeded"
 }
 ],
"code": 403,
"message": "Rate Limit Exceeded"
}
}

Причина, по которой мы не понимаем, заключается в том, что максимальное количество запросов / дней, которые мы сделали, составляет около 8K. Максимальный дневной лимит, установленный в настройках API Google Cloud, составляет 1 миллион.

Есть ли другие ограничения, о которых нам нужно знать? Если нет, что может быть причиной проблемы? Кто-нибудь сталкивался с подобным сценарием?

Спасибо!

1 ответ

Ошибка ограничения скорости не совпадает с ошибкой ограничения ежедневного использования. Ограничение скорости является безопасным пределом, чтобы гарантировать, что мы не засыпаем запросами в течение короткого периода времени.

Вы можете использовать алгоритмы экспоненциальной отсрочки отката, чтобы ограничение скорости не остановило ваше приложение в воде (вместо этого оно просто замедляет его).

У нас была та же проблема без логической причины, и мы решили ее, используя пакетный режим.

Другие вопросы по тегам