【问题标题】:What is meant by 'bucket-size' of queue in the google app engine?谷歌应用引擎中队列的“桶大小”是什么意思?
【发布时间】:2011-04-14 00:57:46
【问题描述】:

Google 应用引擎task queues 的配置为(示例)

  <queue>
    <name>mail-queue</name>
    <rate>5/m</rate>
    <bucket-size>10</bucket-size>
  </queue>

这里,“桶大小”是什么意思?我在谷歌应用引擎文档中找不到关于此的全面文档。

将其指定为 10 是否意味着如果 100 个任务同时排队,则只有其中的 10 个将被放入队列中,其余的将被忽略?

【问题讨论】:

    标签: google-app-engine task-queue bucket


    【解决方案1】:

    bucket-size 完美描述here:

    限制队列处理的突发性,即更大的桶大小允许队列执行率的更大峰值。例如,考虑一个速率为 5/s 且存储桶大小为 10 的队列。如果该队列已经有一段时间不活动(允许其“令牌桶”填满),并且突然有 20 个任务入队,它将允许立即执行 10 个任务。但是在接下来的一秒内,由于令牌桶已经耗尽,并且正在以指定的 5/s 速率重新填充,因此只能再执行 5 个任务。

    如果队列没有指定bucket_size,则默认为5。

    对于您的情况,这意味着如果有 100 条消息排队,则只有 10 条消息被直接执行,每分钟再执行 5 条消息。您不会丢失任何消息,但如果您的存储桶大小和速率过低,它们会排队。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-30
    • 2012-11-13
    • 2015-02-18
    • 2011-04-08
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 2022-01-15
    相关资源
    最近更新 更多