【问题标题】:Can the Google Calendar API events watch be used without risking to exceed the usage quotas?是否可以使用 Google Calendar API 事件手表而不冒超出使用配额的风险?
【发布时间】:2018-11-22 08:53:57
【问题描述】:

我正在使用 Google Calendar API 来预处理正在添加的事件(根据它们可能包含的某些值调整它们的内容)。这意味着理论上我需要在任何给定时间更新任意数量的事件,具体取决于创建的数量。

Google Calendar API 有使用配额,特别是规定每 100 秒最多 500 次操作。

为了解决这个问题,我使用了基于时间的触发器(每 2 分钟一次),该触发器最多可以执行 500 次操作(并且仅在处理完所有事件后才更新同步令牌)。这种方法的缺点是我必须每 2 分钟运行一次检查,无论是否有任何实际变化。

我想用手表替换基于时间的触发器。我不确定是否有任何方法可以限制监视调用的数量,以确保不超过 100 秒的配额。

到目前为止,我的研究表明这是不可能的。我希望我错了。关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: google-calendar-api watch quota


    【解决方案1】:

    AFAIK,这是 Google 建议的最佳做法之一。使用监视和推送通知,您可以消除轮询资源以确定它们是否已更改所涉及的额外网络和计算成本。以下是一些提示,可通过此blog 最佳管理配额内的工作:

    • 使用推送通知而不是轮询。
    • 如果您无法避免轮询,请确保仅在必要时进行轮询(例如,很少在晚上进行轮询)。
    • 对所有集合使用带有同步令牌的增量同步,而不是重复检索所有条目。
    • 使用 maxResults 参数增加页面大小以一次检索更多数据。
    • 在事件发生变化时更新事件,避免在每次同步时重新创建所有事件。
    • 对错误重试使用指数退避。

    此外,如果您无法避免超出当前限制。您可以随时申请额外配额。

    【讨论】:

    • 感谢您的回复!但我认为这更多地与每日配额有关,而不是与 100 秒配额有关。我在每天 100 万次调用中的表现很好,但我无法确保我每 100 秒执行的操作少于 500 次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多