关于Bucket_size参数的Google文档只提供brief definition,维基百科link和示例:
bucket_size
限制队列处理的突发性,
即更高的铲斗尺寸允许更大的尖峰 队列的执行率。对于 例如,考虑具有速率的队列 5 / s,桶大小为10.如果 该队列对某些人来说是不活跃的 时间(允许其“令牌桶”到 填补),20个任务突然 入队,它将被允许 立即执行10个任务。但在 接下来的第二个,只有5个 任务将能够执行 因为令牌桶已经存在 耗尽并正在重新填充 指定的速率为5 / s。
您能否提供Bucket_size
参数的说明以及此参数可能有用的方式?
答案 0 :(得分:4)
您发布的解释相当全面。
任务队列只会在存储桶中有足够的令牌时执行任务,并以指定的速率重新填充存储桶。
您可能希望使用较低的bucket_size来避免(例如)达到每分钟的电子邮件配额,或者避免在需要使用相同的实体组来减少争用的同时运行太多任务。
如果不知道自己想要对自己的任务做什么,就很难就如何设置此参数提出建议;对于大多数用途,默认值可能非常好。
答案 1 :(得分:4)
最简单的描述方式是,它定义了允许队列服务的需求高峰值。
例如,如果您为5 / s请求定义一个队列,其存储桶为10.这意味着它将主要以每秒五个请求的速率执行,但是当它达到它时,它将达到峰值每秒十个