Можно ли использовать отслеживание событий API Календаря Google, не рискуя превысить квоты использования?

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

API Календаря Google имеет квоты использования, особенно квоты, в которых указано не более 500 операций за 100 секунд.

Чтобы решить эту проблему, я использую триггер на основе времени (каждые 2 минуты), который выполняет до 500 операций (и обновляет токены синхронизации только после обработки всех событий). Недостатком этого подхода является то, что я должен запускать проверку каждые 2 минуты, действительно ли что-то изменилось.

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

Мои исследования до сих пор показывают мне, что это невозможно сделать. Я надеюсь, что ошибаюсь. Любые идеи о том, как это можно решить?


person Alex    schedule 22.11.2018    source источник


Ответы (1)


Насколько я знаю, это одна из лучших практик, предложенных Google. Использование отслеживания и push-уведомлений позволяет устранить дополнительные затраты на сеть и вычисления, связанные с опросом ресурсов, чтобы определить, изменились ли они. Вот несколько советов, как лучше всего управлять работой в пределах квоты из этого блог:

  • Используйте push-уведомления вместо опроса.
  • Если вы не можете избежать опроса, убедитесь, что вы проводите опрос только тогда, когда это необходимо (например, проводите опрос очень редко ночью).
  • Используйте добавочную синхронизацию с маркерами синхронизации для всех коллекций вместо повторного получения всех записей.
  • Увеличьте размер страницы, чтобы одновременно получить больше данных, используя параметр maxResults.
  • Обновляйте события по мере их изменения, избегайте повторного создания всех событий при каждой синхронизации.
  • Используйте экспоненциальную отсрочку для повторных попыток ошибки.

Кроме того, если вы не можете избежать превышения текущего лимита. Вы всегда можете запросить дополнительную квоту.

person Mr.Rebot    schedule 23.11.2018
comment
Спасибо за ответ! Но я думаю, что это больше связано с ежедневной квотой, а не с квотой 100 секунд. Я хорошо в пределах 1 миллиона звонков в день, но я не могу гарантировать, что я делаю менее 500 операций за 100 секунд с часами. - person Alex; 26.11.2018