【问题标题】:GmailAPI: Does using a batch request count just once or n(items) against the quota?GmailAPI:使用批处理请求是否只计算一次或 n(items) 对配额?
【发布时间】:2015-06-30 17:55:22
【问题描述】:

如果我使用 gmail api 批量获取 100 封邮件,那算作 500 个配额单位还是 5 个?如果是 500,那么我的 App Engine queue.yaml 上的队列设置应该是什么,这样我就不会达到 250 个配额单位/秒的速率限制?

【问题讨论】:

    标签: gmail-api


    【解决方案1】:

    它将计为 n 项,而不是一项。此外,每秒 250 个配额单位适用于每位用户。因此,如果在您的批处理请求中,您有不同的用户,每个用户将有 250 个单位的限制。

    【讨论】:

    • 另外值得注意的是,这不是 250/秒的硬截止。 Google 将允许您稍作放松,并在短时间内超出限制。
    • 因此,如果我为一个用户批量处理所有电子邮件,并说它达到了 ~1000,那么我会收到“请求过多”还是返回结果需要更长的时间?批处理会返回结果的行为,只是需要更长的时间,还是会尝试在一定时间内完成并在无法完成时返回错误?
    • 没关系:“鼓励使用批处理,但是,较大的批处理大小可能会触发速率限制。不建议发送大于 100 个请求的批处理。”
    • 但我只是想澄清一下,我正在使用符合特定搜索条件的 gmail api 提取消息,例如所有 uber 收据。我的队列包含(user_id)。队列中的每个任务都会获得一个消息列表,直到 next_page_token 干涸,然后一次分批获取 100 个消息。我不需要对我的队列有任何速率限制,因为每个用户只有 1 个任务(因此我没有达到任何每个用户的限制,尽管任务可能需要更长的时间),唯一的其他限制是1b msgs/day,我知道我不会打。这是否意味着我可以将队列 (.yaml) 上的速率设置为 500/s?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2017-03-17
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多