Google App引擎 任务队列 具有配置为(示例)

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

在这里,“桶大小”是什么意思?在Google App Engine文档中,我找不到有关此的全面文档。

将其指定为10是否意味着,如果在瞬间排队100个任务,将仅将其中的10个排在队列中,而休息将被忽略?

有帮助吗?

解决方案

水桶大小是完美描述的 这里:

限制了队列处理的爆发,即更高的桶尺寸可以使队列的执行率更大。例如,考虑一个5/s的队列,桶大小为10。如果该队列不活动一段时间(允许其“代币桶”填充),并且突然重建了20个任务,它将允许立即执行10个任务。但是在接下来的第二个中,由于令牌存储桶已经耗尽,并且以5/s的指定速率加入,因此只有5个任务可以执行。

如果未为队列指定bucket_size,则默认值为5。

对于您的情况,这意味着,如果排队100条消息,只有10条直接执行,第二分钟再执行5个。您不会松散任何消息,但是如果您的桶形和费率太低,它们会排队。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top