2

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

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

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

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

4

3 回答 3

1

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

于 2012-05-14T14:33:22.957 回答
0

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

于 2012-05-11T17:10:16.323 回答
0

属性 v CacheService

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

于 2012-06-04T02:12:58.670 回答