【问题标题】:What is the rate limit for UserProperties?UserProperties 的速率限制是多少?
【发布时间】:2012-05-20 06:46:17
【问题描述】:

我正在解析一个大文本文件,然后调用一个速率受限的 Google API(邮件迁移)(API 文档声明每次调用 1 秒)。

即使我有 Utilities.sleep(1000);在我的循环中,即使我在循环期间只设置了一次属性,我仍然会收到此错误:

服务在短时间内调用太多次:属性 rateMax。在通话之间尝试 Utilities.sleep(1000)。 (第 146 行)

除了不经常设置属性外,我还能做些什么来缓解这种情况?我应该尝试使用 CacheService 暂时存储我的属性吗?

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    属性 v CacheService

    CacheService 产生相同的错误(除非我的代码中有一个我错过的错误)。如果它有助于 CacheService 让您存储更长的字符串,那么这可以减少写入次数。

    【讨论】:

      【解决方案2】:

      不幸的是,没有公开确切的短期利率限制。您可能想尝试增加睡眠量,以期超过避免错误所需的阈值。最终,我认为您的分析是正确的,您应该考虑减少写入用户属性的频率。我不确定 CacheService 是不是正确的解决方案,但这取决于您如何使用这些信息。

      【讨论】:

      • 谢谢。我正在使用 UserProperties 记录文件中发生解析/迁移的位置的状态。我想在脚本自发失败(并且状态丢失)的情况下记录这一点,并且“状态”报告可以按需更新。我想我只会每 2-3 个条目而不是每个条目更新一次。谢谢!
      【解决方案3】:

      这实际上取决于您的应用程序的设计。如果您正在解析信息并将其汇总到摘要中,则需要更少的调用。也许作为电子邮件发送不是最佳选择。解析后的数据是否可以转到其他地方,然后将用户引导到那里而不是发送电子邮件?

      【讨论】:

      • 该应用程序的目的是将基于 Lotus Notes 的“结构化导出”邮件导出上传到 Google Apps 电子邮件迁移 API。本质上是为了允许用户在他们自己的时间从 Lotus Notes 迁移他们的电子邮件,并从官方迁移工具所支持的不同类型/位置的档案迁移。无论如何,电子邮件不是这里的问题。我正在尝试跟踪可能失败(解析相关错误)的长时间运行进程的进度(通过设置 UserProperties)。
      猜你喜欢
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 2020-08-05
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      相关资源
      最近更新 更多